第K大元素(分治法)

#include 
#include 
#include 
using namespace std;
int Find(int array[],int start,int end,int k){
	int temp=array[start];
	int i=start,j=end-1;
	while(i!=j){
		while(i=temp)
			i++;
		if(ik){
		//cout<>n>>k;
	int array[n];
	for(int i=0;i>array[i];
	cout<

查找第K大元素方法总结:

1.排序

2.先取k个元素,排序,再依次取其他元素,放到已排好的序列的正确位置,最后第k个位置即为所找元素

3.分治

4.堆 相当于堆排序

你可能感兴趣的:(分治)