Selection Sort
merupakan salah satu algoritma pengurutan yang sederhana. Ide dasarnya adalah melakukan
beberapa kali pass untuk melakukan penyeleksian elemen struktur data. Untuk sorting ascending (menaik), elemen yang paling kecil di antara elemen-elemen yang belum urut, disimpan indeksnya, kemudian dilakukan pertukaran nilai elemen dengan indeks yang disimpan tersebut dengan elemen yang paling depan yang belum urut. Sebaliknya, untuk sorting descending (menurun), elemen yang paling besar yang disimpan indeksnya kemudian ditukar.
CONTOH:
pengurutan dengan sort {17,17,10,5,15,25,11,7,25,16,19} maka akan tampil angka-angka tersebut akan di urutkan menjadi seperti gambar
#include<iostream>
using namespace std;
#include<iomanip>
#include<conio.h>
void selectionSort(int array[], const int size)
{
int i, j, kecil, temp;
for(i=0; i<size; i++)
{
kecil=i; for (j=i+1; j<size; j++)
{
if (array [kecil]>array[j])
{
kecil=j;
}
}
temp=array[i];
array[i]=array [kecil];
array[kecil]=temp;
}
}
int main()
{
int NumList[11]={17,17,10,5,15,25,11,7,25,16,19};
cout<<"pengurutan dengan selection sort"<<endl;
cout<<"================================"<<endl;
cout<<"data sebelum di urutkan \n";
for(int d=0; d<11; d++)
{
cout<<setw(3)<<NumList[d];
}
cout<<"\n\n";
selectionSort(NumList, 11);
cout<<"data setelah di urutkan \n\n";
for(int iii=0; iii<11; iii++)
{
cout<<setw(3)<<NumList[iii];
}
}