分析:这个问题我之前遇到的時候想到的解决方案是,最小堆解决方法建立个数为的最小堆,然后遍历n维护这个最小堆就可以了算法的时间复杂度是n*log()。还是比较高效的算法的
今天我又发现了一种解决方法,那就是STL里面的一种算法STL里面的nth_eleent就是这样的一种算法。利用类似于快速排序的过程找到前媔的个最大的数字。
不多说了看代码吧。通过代码可以看出和快排基本相似。
//在个数中寻找最大的n个数 //将数组[]中的最大的n(n<)个数放在数組前面分析:这个问题我之前遇到的時候想到的解决方案是,最小堆解决方法建立个数为的最小堆,然后遍历n维护这个最小堆就可以了算法的时间复杂度是n*log()。还是比较高效的算法的
今天我又发现了一种解决方法,那就是STL里面的一种算法STL里面的nth_eleent就是这样的一种算法。利用类似于快速排序的过程找到前媔的个最大的数字。
不多说了看代码吧。通过代码可以看出和快排基本相似。
//在个数中寻找最大的n个数 //将数组[]中的最大的n(n<)个数放在数組前面版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。