Nelson Zeas
Nelson Zeas

Reputation: 41

How to sort an array in Java?

This is what I have tried, but something is wrong!

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

Upvotes: 0

Views: 68

Answers (4)

Animesh Kumar Paul
Animesh Kumar Paul

Reputation: 2294

Change 2nd loop i=0 toi=index+1 and array[0] = array[i]; to 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;
        }
    }
}

Upvotes: 0

Yash
Yash

Reputation: 9568

try this

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

Upvotes: 0

SkyMaster
SkyMaster

Reputation: 1323

Try this:

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

Upvotes: 1

Diego Torres Milano
Diego Torres Milano

Reputation: 69188

Why not just

Arrays.sort(array);

See http://docs.oracle.com/javase/7/docs/api/java/util/Arrays.html#sort(int[])

Upvotes: 1

Related Questions