编写函数求整形数组a中存储的m个不重复的整数的第k大的整数(其中m>=1,1<=k<=m)很简单的一个思路是酱紫的:管他辣么多干啥,上来一把排序然后直接得答案

/**
* @author:(LiberHome)
* @date:Created in 2019/2/28 20:38
* @description:
* @version:$
*/
/*编写函数求整形数组a中存储的m个不重复的整数的第k大的整数(其中m>=1,1<=k<=m)*/
/*很简单的一个思路是酱紫的:管他辣么多干啥,上来一把排序然后直接得答案*/
public class page07 {
public static void main(String[] args) {
int m=9;
int k=6;
int[] a={88,999,2,0,13,5,66,52,77};
int result=BigK(a,k);
System.out.println(" ~"+result);
show(a);
}

private static void show(int[] arr) {
System.out.println("======================================");
for (int i = 0; i < arr.length; i++) {
System.out.print(" "+arr[i]);
}
}

private static int BigK(int[] arr, int rank) {
/*直接插入排序*/
int i=0;
int j;
int temp;
while (i<arr.length){
j=i+1;
while (j<arr.length){
/*如果后面的更小交换位置*/
if (arr[j]<arr[i]){
temp=arr[j];
arr[j]=arr[i];
arr[i]=temp;
}
j++;
}
i++;
}
return arr[rank];
}


}

猜你喜欢

转载自www.cnblogs.com/liberhome/p/10453227.html