首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

C编程:找到一个整形数组中最大K个数的下标

2013-12-28 
C编程:找出一个整形数组中最大K个数的下标C编程:找出一个整形数组中最大K个数的下标[解决办法]一个方法是:

C编程:找出一个整形数组中最大K个数的下标
C编程:找出一个整形数组中最大K个数的下标
[解决办法]
一个方法是:
创建一个结构,包含下标。
创建结构数组复制所有数据。
对结构数组,用快速选择,求出最大K个数。
输出结构中的下标。


[解决办法]
另一个方法,是创建指针或者下标数组。
每个不指针或者下标对应给出的数组中的元素。

对指针或者下标快速选择。
输出下标。
[解决办法]
两个数组a和b,a里面存的是整数,b里面存a数组下标。b数组初始化1到n,然后对b数组按照a数组的值从大到小进行排序,规则如下 :


if (a[b[i]] <= a[b[i+1]])
{
    int temp = b[i];
    b[i] = b[i+1];
    b[i+1] = temp;
}

详细代码可以自己去写,这里只写了比较大小的方法。
最终得到的b数组就是a数组的值从大到小排序的下表。然后随便你打印b里面的元素了。

热点排行