Algoritma Selection Sort
#include <iostream>
//kamus
using namespace std;
int array[100];
int batas();
int input(int batas);
int cetak_array(int batas,int array[]);
int selection_sort(int batas,int array[]);
int x;
//deskripsi
int main()
{
//fungsi batas array
x = batas();
cout << endl;
cout << endl;
//fungsi input
input(x);
cout << endl;
cout << endl;
//fungsi cetak array sebelum di sorting
cout << "Array sebelum disorting : ";
cetak_array(x,array);
cout << endl;
cout << endl;
//fungsi selection sort
selection_sort(x,array);
//cetak hasil sorting
cout << "Array setelah di sorting : ";
cetak_array(x,array);
return 0;
}
//fungsi batas
int batas()
{
//kamus lokal
int batas_array;
cout << "Masukan nilai array : ";
cin >> batas_array;
//return batas array
return batas_array;
}
//fungsi input
int input(int batas)
{
//kamus lokal
int a;
a = 0;
while(a < batas)
{
cout << "Masukan nilai array ke-" << a+1 << " = ";
cin >> array[a];
a = a + 1;
}
return 0;
}
//fungsi cetak
int cetak_array(int batas,int array[])
{
//kamus lokal
int b;
b = 0;
while(b < batas)
{
cout << array[b] << " ";
b = b + 1;
}
return 0;
}
int selection_sort(int batas,int array[])
{
//kamus lokal
int i;
int j;
int index;
int tampung;
i = 0;
while(i < batas)
{
j = i;
index = i;
while(j < batas)
{
if(array[index] > array[j])
{
index = j;
}
j = j + 1;
}
tampung = array[i];
array[i] = array[index];
array[index] = tampung;
i = i + 1;
}
return 0;
}
Penjelasan :
Algoritma Selection sort menggunakan cara melakukan pengecekan pada index pertama hingga index terakhir pada suatu Array data.
Kemudian melakukan penentuan bilangan index terkecil dari barisan data tersebut.
Kemudian jika bilangan terkecil sudah ketemu, maka akan terjadi pertukaran value index dengan alamat index pertama.
Begitu seterusnya hingga semua value data sudah terurutkan.
Komentar
Posting Komentar