Simple Insertion Sort Program using functions in C++
On this page (5sections)
About this program
This is an example program in sorting programs. Read the concept first: Understanding Array in C++, then study the code and output below.
Definition
Insertion sort is a simple sorting algorithm that builds the final sorted array (or list) one item at a time. It is much less efficient on large lists than more advanced algorithms such as quicksort, heapsort, or merge sort. However, insertion sort provides several advantages like simple implementation, efficient for (quite) small data sets, more efficient in practice than most other simple quadratic algorithms, adaptive, stable, in-place; i.e., only requires a constant amount of additional memory space, online; i.e., can sort a list as it receives it
Example Program
/* Simple Insertion Sort Program Using Functions in C++*/
/* Data Structure C++ Programs,C++ Array Examples */
#include <iostream>
#include<conio.h>
#include<stdlib.h>
#define MAX_SIZE 5
using namespace std;
void insertion(int[]);
int main() {
int arr_sort[MAX_SIZE], i;
cout << "Simple C++ Insertion Sort Example - Array and Functions\n";
cout << "\nEnter " << MAX_SIZE << " Elements for Sorting : " << endl;
for (i = 0; i < MAX_SIZE; i++)
cin >> arr_sort[i];
cout << "\nYour Data :";
for (i = 0; i < MAX_SIZE; i++) {
cout << "\t" << arr_sort[i];
}
insertion(arr_sort);
getch();
}
void insertion(int fn_arr[]) {
int i, j, a, t;
for (i = 1; i < MAX_SIZE; i++) {
t = fn_arr[i];
j = i - 1;
while (j >= 0 && fn_arr[j] > t) {
fn_arr[j + 1] = fn_arr[j];
j = j - 1;
}
fn_arr[j + 1] = t;
cout << "\nIteration : " << i;
for (a = 0; a < MAX_SIZE; a++) {
cout << "\t" << fn_arr[a];
}
}
cout << "\n\nSorted Data :";
for (i = 0; i < MAX_SIZE; i++) {
cout << "\t" << fn_arr[i];
}
}
Sample Output
Simple Insertion Sort Example - Array and Functions
Enter 5 Elements for Sorting
901
56
34
23
2
Your Data : 901 56 34 23 2
Iteration 1 : 56 901 34 23 2
Iteration 2 : 34 56 901 23 2
Iteration 3 : 23 34 56 901 2
Iteration 4 : 2 23 34 56 901
Sorted Data : 2 23 34 56 901
------------------
(program exited with code: 0)
Press any key to continue . . .
Related Pages
Learn the concept first, then study the code:
- Data Structures — Browse all Data Structures.
- Understanding Array in C++ — Tutorial — arrays underpin sorting algorithms.
- Simple Bubble Sort Program in C++ — More in sorting programs.
- Simple Bubble Sort Program using functions in C++ — More in sorting programs.