//
//  main.cpp
//  Selection Sort
//
//  Created by Himanshu on 29/08/21.
//

#include <iostream>
using namespace std;

void printArray (int arr[], int n) {
    for (int i=0; i<n; i++) {
        cout<<arr[i]<<" ";
    }
    cout<<endl;
}

void selectionSort(int arr[], int n) {
    cout<<"Initial array:"<<endl;
    printArray(arr, n);
    
    cout<<"Selection sort"<<endl;
    
    for (int i=0; i<n-1; i++) {
        int indexMin = i;
        for (int j=i+1; j<n; j++) {
            if (arr[j] < arr[indexMin]) {
                indexMin = j;
            }
        }
        if (indexMin != i) {
            swap(arr[i], arr[indexMin]);
        }
        cout<<"Array after "<<(i+1)<<" iteration: "<<endl;
        printArray(arr, n);
    }
}

int main() {
    int arr[] = {21, 15, 30, 13 , 2};
    int n = 5;
    selectionSort(arr, n);
    return 0;
}
