Just like bubble and selection sorts, insertion sort is also a simple yet inefficient sorting algorithm on large data sets.
Process
- Lets take a hypothetical moment where the unsorted array we want to sort is partially sorted.
- So the left part is sorted in ascending order and right part is not yet sorted.
- we will mark first element in the unsorted part as out. That indirectly says that the last element in sorted portion we can mark as in-1, if we say in = out
- So now,we can take in-1 th element and move sorted portion until we find a place to put in-1.
- When that happens, unsorted portion decreases by 1. That means out decrements by 1 and sorted portion increases by 1 position.
- The data structure is sorted when out goes from 1 to length of the data structure.
// Insertion sort implementation public int[] insertionSort(int[] array) { for (int out = 1; out < array.length; out++) { int in = out; int temp = array[out]; while (in>0 && temp<= array[in-1]){ //move sorted portion to have some space to array[in-1] array[in] = array[in-1]; in --; } array[in] = temp; } return array; }
0 comments:
Post a Comment