Simple Selection Sort Program in C++

Definition

Selection sort is a sorting algorithm, specifically an in-place comparison sort. It has O(n2) time complexity, making it inefficient on large lists, and generally performs worse than the similar insertion sort. Selection sort is noted for its simplicity, and it has performance advantages over more complicated algorithms in certain situations, particularly where auxiliary memory is limited.

Simple Selection Sort Program

/* Simple Selection Sort Program Using Array in C++*/
/* Data Structure C++ Programs,C++ Array Examples */

#include <iostream>
#include<conio.h>
#include<stdlib.h>

#define MAX_SIZE 5

using namespace std;

int main() {
    int arr_sort[MAX_SIZE], i, j, a, t, p;

    cout << "Simple C++ Selection Sort Example - Array\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];
    }

    for (i = 0; i < MAX_SIZE; i++) {
        p = i;
        for (j = i; j < MAX_SIZE; j++) {
            if (arr_sort[p] > arr_sort[j])
                p = j;
        }

        if (p != 1) {
            //Swapping Values 
            t = arr_sort[i];
            arr_sort[i] = arr_sort[p];
            arr_sort[p] = t;
        }
        cout << "\nIteration : " << i;
        for (a = 0; a < MAX_SIZE; a++) {
            cout << "\t" << arr_sort[a];
        }
    }

    cout << "\n\nSorted Data :";
    for (i = 0; i < MAX_SIZE; i++) {
        cout << "\t" << arr_sort[i];
    }

    getch();
}

Sample Output

Simple Selection Sort Example - Array

Enter 5 Elements for Sorting
123
45
32
1
12

Your Data   :   123     45      32      1       12
Iteration 0 :   1       45      32      123     12
Iteration 1 :   1       12      32      123     45
Iteration 2 :   1       12      32      123     45
Iteration 3 :   1       12      32      45      123
Iteration 4 :   1       12      32      45      123

Sorted Data :   1       12      32      45      123

------------------
(program exited with code: 0)