The core idea of the insertion sort is to place an element in the appropriate location in the array.
The detail steps of this algorithm are as follows:
1. Choose an element from left to right, and in particular, you have to start your traversal from the second element.
2. Compare the element you had chosen at the first step with those elements at the front of it.
3. Put the element to the appropriate location.
4. Loop next element until the last.
Its time complexity is O(n²).
The following is the implementation of insertion-sort by java.
public void insertionSort(){
int[] A = {4,5,3,2,7,5,8};
for(int j = 1;j < A.length;j++){
int key = A[j];
int i = j - 1;
while(i >= 0 && A[i]> key){
A[i+1] = A[i];
i = i - 1;
}
A[i+1] = key;
}
}