2015-09-26 37 views
0

这就是我试过的,但有些错误!如何在Java中对数组进行排序?

public static int[] sortIt(int[] array){ 
    int temp = 0; 

    for(int index =0; index<array.length; index++){ 

    for(int i=0; i<array.length; i++){ 
     if(array[index]<array[i]){ 
      temp = array[i]; 
      array[0] = array[i]; 
      array[index] = temp; 
     } 
     } 
    } 
    return array; 
} 
+1

哪种语言是什么? –

+0

看起来像java。 – Aivean

回答

1

试试这个:

public static int[] sortIt(int[] array) { 
    int temp = 0; 
    for(int index =0; index<array.length-1; index++){ 
     for(int i=index+1; i<array.length; i++){ 
      if(array[index]<array[i]){ 
       temp = array[index]; 
       array[index] = array[i]; 
       array[i] = temp; 
      } 
     } 
    } 
    return array; 
} 
0

试试这个

public static void main(String[] args) { 
     int[] arr = new int[]{9,5,7,1,9,4,6,3}; 
     insertionsort(arr); 
     display(arr); 
    } 
    public static void insertionsort(int[] arr){ 
     for (int i=0; i<arr.length+0; i++) 
      for (int j=i; j>0 && arr[j-1]>arr[j]; j--) 
        swap(arr, j, j-1); 
    } 
    private static void swap(int x[], int a, int b) { 
     int t = x[a]; 
     x[a] = x[b]; 
     x[b] = t; 
    } 
    public static void display(int[] arr){ 
     System.out.print("["); 
     for (int i = 0; i < arr.length; i++) { 
      if (i == 0) System.out.print(arr[i]); 
      else System.out.print(","+arr[i]); 
     } 
     System.out.println("]"); 
    } 

Arrays.sort(arr);

0

更改第二环i=0i=index+1array[0] = array[i];array[i] = array[index];

for(int index =0; index<array.length; index++){ 
    for(int i=index +1; i<array.length; i++){ 
     if(array[index]<array[i]){ 
      temp = array[i]; 
      array[i] = array[index]; 
      array[index] = temp; 
     } 
    } 
}