What is insertion sort?

It is a sorting technique that is based on the partitioning of array into two parts like selection sort, sorted and unsorted.

The process is:-

compare adjacent elements.

if(left > right)

Swap the element

{

check for sorted array whether it is still in sort manner(put j=i and loop in until j is not equal to zero)

- No

check for if(right<left)

swap

do it until at the end of position.

}

It is a sorting technique that is based on the partitioning of array into two parts like selection sort, sorted and unsorted.

The process is:-

compare adjacent elements.

if(left > right)

Swap the element

{

check for sorted array whether it is still in sort manner(put j=i and loop in until j is not equal to zero)

- No

check for if(right<left)

swap

do it until at the end of position.

}

__Implementation:-__Underline eleemnts are part of sorted array

inside main array loop14 2710 33 35 19 42 4 (1433 35 19 42 4 (here sorted array is distorted hence sorting has been done inside the loop) inside sorted array loop102710 14 2733 35 19 42 4 inside main array loop10 14 27 3335 19 42 4 inside main array loop10 14 27 33 3519 42 4 inside main array loop10 14 27 33 35 1942 4 inside sorted array loop10 14 27 19 33 3542 4 inside sorted array loop10 14 19 27 33 3542 4 inside main array loop10 14 19 27 33 35 424 inside main array loop10 14 19 27 33 35 42 4inside sorted array loop10 14 19 27 33 4 35 42inside sorted array loop10 14 19 27 4 33 35 42inside sorted array loop10 14 19 4 27 33 3542 inside sorted array loop10 14 4 19 27 33 35 42inside sorted array loop10 4 14 19 27 33 35 42inside sorted array loop4 10 14 19 27 33 35 42inside main array loop 4 10 14 19 27 33 35 42 (final sorted array)

__Program:-__package sorting; public class InsertionSort { //function to print array public static void print(int[] arr) { for(int i=0;i<=arr.length-1;i++) System.out.print(" "+arr[i]); System.out.println(" "); } //function to swap elements public static int[] swap(int[] arr,int i, int j) { int temp; temp=arr[i]; arr[i]=arr[j]; arr[j]=temp; return arr; } public static void main(String[] args) { int[] arr={14,27,10,33,35,19,42,4}; int j; for(int i=0;i<arr.length-1;i++) { if(arr[i]>arr[i+1]) { swap(arr,i,(i+1)); j=i; for(;j>0;j--) { if(arr[j]<arr[j-1]) { swap(arr,j,(j-1)); System.out.print(" "+"inside sorted array loop"); print(arr); } } } System.out.print("inside main array loop"); print(arr); } } }

## Comments

## Post a Comment