您的位置:首页 > 其它

2.5 寻找最大的K个数

2013-09-03 23:07 232 查看
问题:

如题,寻找最大的K个数

解法一:

全部排序,取最大的K个数。

解法二:

利用快速排序,取最大K个数。

void partition(int input_array[], int number)
{
//取中间数做比较
int i = (input_array[0] + input_array[number / 2] + input_array[number - 1]) / 3;
int left = 0;
int right = number - 1;
int temp = 0;
while(left != right)
{
if (input_array[left] <= i)
left++;
else
{
if (input_array[right] >= i)
right--;
else
{
temp = input_array[left];
input_array[left] = input_array[right];
input_array[right] = temp;
left++;
right--;
}
}
}
return;
}


未完待续。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: