PSeudoCode:
selectionSort(A,n) { for(i=0 to n-1) { min=i; for(j=i+1 to n){ if(arr[j]<arr[min]){ min=j; } } if(min!=i) { swap(arr[min],arr[i]); } } }
Implemented Code:
#include<bits/stdc++.h> using namespace std; int swaps(int *p,int *q) { int temp=*q; *q=*p; *p=temp; } void selectionSort(int *arr,int n) { int i,j,mins; for(i=0; i<n-1; i++) { mins=i; for(j=i+1; j<n; j++) { if(arr[j]<arr[mins]) { mins=j; } } if(mins!=i){ swaps(&arr[mins],&arr[i]); } } } printArray(int *arr,int n) { for(int i=0; i<n; i++) { cout<<arr[i]<<" "; } } int main() { //int A[]= {4,42,23,16,8,15}; int A[]= {2,7,4,1,5,3}; int sizes=sizeof(A)/sizeof(A[0]); //selectionSort(A,6); selectionSort(A,sizes); printArray(A,sizes); return 0; }
output:
//4 8 15 16 23 42 1 2 3 4 5 7