如何在Java中对数组进行排序?

时间:2015-09-26 04:02:21

标签: java arrays sorting

这是我尝试过的,但有些不对劲!

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;
}

4 个答案:

答案 0 :(得分:1)

答案 1 :(得分: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;
}

答案 2 :(得分: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);

答案 3 :(得分:0)

将第二轮i=0更改为i=index+1,将array[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;
        }
    }
}