2 q865165648 q865165648 于 2017.09.03 22:53 提问

编写一个程序解决选择问题。令k=n/2.有大神知道是什么意思吗

选择问题,确定N个数中第K个最大值?有大神知道题目意思吗?完全看不懂

3个回答

zhangli2513
zhangli2513   2017.09.04 11:27

我的理解是 把N个数冒泡排序从大到小 ,第一个最大值 第二个最大值 第三个最大值……第K个最大值
k=n/2,应该就是找到N个数中 冒泡排序后 大小处于数组中间的一个数

m0_38093650
m0_38093650   2017.09.04 11:28
m0_38093650
m0_38093650   2017.09.04 11:29

读入前 k 个数到临时数组 tmp(并按降序排列)。然后逐个读取后续数字 X ,当 X 大于第 k 个数时,将其加入数组 tmp(并按降序排列)。最后返回位置 k - 1 上的值。
该算法在输入数据量较少时,可以在合理的时间内给出结果。如果数据量过大,这个算法就不切实际了。

Csdn user default icon
上传中...
上传图片
插入图片