Harsh Kanakhara Harsh Kanakhara - 1 month ago 11
Java Question

Simple Insertion Sort

I had written a simple insertion sort program but the output is not coming correctly.

class InsertionSort{
public static void main(String h[]){
int[] a = {5,4,3,2,1};
int i,j,temp;
for(i=1;i<a.length;i++){
j = i-1;
while(i>0 && a[j] > a[i]){
temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
for(int x=0; x<a.length;x++){
System.out.println(a[x]);
}
}
}

Answer
/*this program sort in ascending order by insertion sort */  
class InsertionSort{
public static void main(String h[]){
int[] a = {100,12,31, 5, 4, 3, 2, 1 };
int i, j, temp;
    for (i = 1; i < a.length; i++)
    {
        j = i - 1;
        while (j >= 0 && a[j] > a[i] )
        {
            temp = a[i];
            a[i] = a[j];
            a[j] = temp;
            i=j;
            j--;

        }
    }
for(int x=0; x<a.length;x++){
    System.out.println(a[x]);   
  }
}
}
/*this program sort in descending order by insertion sort */  
class InsertionSort{
public static void main(String h[]){
int[] a = {100,12,31, 5, 4, 3, 2, 1 };
int i, j, temp;
    for (i = 1; i < a.length; i++)
    {
        j = i - 1;
        while (j >= 0 && a[j] < a[i] )
        {
            temp = a[i];
            a[i] = a[j];
            a[j] = temp;
            i=j;
            j--;

        }
    }
for(int x=0; x<a.length;x++){
    System.out.println(a[x]);   
  }
}
}
Comments