insertion operation in stack. code example
Example 1: java insertion sort
/**
* Insertion sort algorithm, O(n^2) time complexity.
*/
public static void insertionSort(int[] arr) {
int n = arr.length;
for(int i = 1; i < n; i++) {
int key = arr[i];
int j = i - 1;
//shift until you find the position to place the element 'key'
while(j >= 0 && arr[j] > key) {
arr[j+1] = arr[j];
j--;
}
//place element 'key' in the correct position in the sorted part of the array
arr[j+1] = key;
}
}
Example 2: program for insertion sort
def insertionSort(arr):
for i in range(1, len(arr)):
k = i
for j in range(i-1, -1, -1):
if arr[k] < arr[j]:
temp = arr[k]
arr[k] = arr[j]
arr[j] = temp
k = j
arr = [5, 2, 9, 1, 10, 19, 12, 11, 18, 13, 23, 20, 27, 28, 24, -2]
print("original array \n", arr)
insertionSort(arr)
print("\nSorted array \n", arr)