From 5d038c966298fd086113246fad5439660ded62d4 Mon Sep 17 00:00:00 2001 From: Ali Jafari <50498845+alijafari79@users.noreply.github.com> Date: Thu, 3 Nov 2022 00:10:14 +0330 Subject: [PATCH] Create insertion_sort.cpp --- C++/insertion_sort.cpp | 47 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 C++/insertion_sort.cpp diff --git a/C++/insertion_sort.cpp b/C++/insertion_sort.cpp new file mode 100644 index 0000000..43aa524 --- /dev/null +++ b/C++/insertion_sort.cpp @@ -0,0 +1,47 @@ +// 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; + } +} + + +void printArray(int arr[], int n) +{ + int i; + for (i = 0; i < n; i++) + cout << arr[i] << " "; + cout << endl; +} + +int main() +{ + int arr[] = { 12, 11, 13, 5, 6 }; + int N = sizeof(arr) / sizeof(arr[0]); + + insertionSort(arr, N); + printArray(arr, N); + + return 0; +}