猿问

直接选择排序倒排序,如果数组中有重复的数,排序有问题,请问是怎么回事?

 public void Csort(int[] arr){
  //直接选择排序倒排序(如果数组中有重复的数,排序有问题)
  for (int i = 1; i < arr.length; i++) {
   int index=0;
   for (int j = i-1; j < arr.length-i; j++) {
    if (arr[index]>=arr[j]) {
     index =j;
    }
    int temp = arr[i-1];
    arr[i-1]=arr[index];
    arr[index]=temp;
   }
 
  }
  System.out.println();
  showArray(arr);
  
  
  
 }
 public void showArray(int[] arr){
  
  for (int i :arr) {
   System.out.print(i+"  ");
  }
//  System.out.println();
 } 

小树要长成大树
浏览 1472回答 1
1回答

励志敏

public void Csort(int[] arr){  //直接选择排序倒排序(如果数组中有重复的数,排序有问题)  for (int i = 1; i < arr.length; i++) {   int index=0;   for (int j = i; j < arr.length-i; j++) {    if (arr[index]>arr[j]) {     index =j;    }    int temp = arr[i-1];    arr[i-1]=arr[index];    arr[index]=temp;   }你再试试。
随时随地看视频慕课网APP

相关分类

Java
我要回答