原创
利用到快速排序的思想,快速排序思想:
array代表存放数列的数组,K代表第K大的数,mid代表一趟快速排序后返回的基准记录下标;
一趟快速排序下来若基准记录存在的位置满足:array.length-mid==K,则说明array[mid]即是第
K大的数,若小于K,说明第K大的数在区间 [ left , mid-1 ],大于K说明在区间 [ mid+1,right ];
import java.util.*;public class 算法分析与设计2_3_选做 { static int array[]; static int K; static int mid; static int yiSort(int left,int right) { //一趟快速排序 int x=array[left]; //存储基准记录 while(left=x) { right--; } if(left =K):"); int n=reader.nextInt(); array=new int[n]; System.out.print("输入数组元素:"); for(int i=0;i
16:31:24
2018-10-06