From a9642d7d344b0d282c39903bfa825454653ffdbb Mon Sep 17 00:00:00 2001 From: SundaramDubey <43514004+SundaramDubey@users.noreply.github.com> Date: Sat, 12 Oct 2019 15:02:53 +0530 Subject: [PATCH] Added InsertionSort.java Insertion sort is a simple sorting algorithm that works the way we sort playing cards in our hands. --- src/com/sort/InsertionSort.java | 46 +++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 src/com/sort/InsertionSort.java diff --git a/src/com/sort/InsertionSort.java b/src/com/sort/InsertionSort.java new file mode 100644 index 0000000..fa89835 --- /dev/null +++ b/src/com/sort/InsertionSort.java @@ -0,0 +1,46 @@ +// C++ program for insertion sort +#include +using namespace std; + +/* Function to sort an array using insertion sort*/ +void insertionSort(int arr[], int n) +{ + int i, key, j; + for (i = 1; i < n; i++) + { + key = arr[i]; + j = i - 1; + + /* Move elements of arr[0..i-1], that are + greater than key, to one position ahead + of their current position */ + while (j >= 0 && arr[j] > key) + { + arr[j + 1] = arr[j]; + j = j - 1; + } + arr[j + 1] = key; + } +} + +// A utility function to print an array of size n +void printArray(int arr[], int n) +{ + int i; + for (i = 0; i < n; i++) + cout << arr[i] << " "; + cout << endl; +} + +/* Driver code */ +int main() +{ + int arr[] = { 12, 11, 13, 5, 6 }; + int n = sizeof(arr) / sizeof(arr[0]); + + insertionSort(arr, n); + printArray(arr, n); + + return 0; +} +