Selection Sort (Metode Seleksi)
- One of the simplest sorting algorithms
- Merupakan kombinasi antara sorting dan searching
- Untuk setiap proses, akan dicari elemen-elemen yang belum diurutkan yang memiliki nilai terkecil (Ascending) atau terbesar (Descending) akan dipertukarkan ke posisi yang tepat di dalam array.
- Misalnya untuk putaran pertama, akan dicari data dengan nilai terkecil dan data ini akan ditempatkan di indeks terkecil (data[0])/ data pertama, pada putaran kedua akan dicari data kedua terkecil, dan akan ditempatkan di indeks kedua (data[1])/ data kedua atau selanjutnya.
- Selama proses, pembandingan dan pengubahan hanya dilakukan pada indeks pembanding saja, pertukaran data secara fisik terjadi pada akhir proses.
Ascending
- Cek seluruh elemen array, temukan nilai terkecil (1) dan tukarkan posisinya dengan posisi nilai yang tersimpan pada posisi pertama dari array (3)
- Temukan nilai terkecil kedua (2), dan tukarkan posisinya dengan nilai yang berada pada posisi kedua (10).
- Dua elemen biru pertama tidak akan berubah lagi sebab mereka sudah merupakan nilai terkecil pertama dan kedua dalam array tsb.
- Pengurutan Selesai.
berikut kode programnya :
#include <iostream>
#include <conio.h>
int main(void)
{
int array[5]; // An array of integers.
int length = 5; // Lenght of the array.
int i, j;
int firstelement, temp;
//Some input
for (i = 0; i < length; i++)
{
cout << "Enter a number: ";
cin >> array[i];
}
//Algorithm
for (i= length - 1; i > 0; i--)
{
firstelement = 0;
for (j=1; j<=i; j++)
{
if (array[j] < array[firstelement])
firstelement = j;
}
temp = array[firstelement];
array[firstelement] = array[i];
array[i] = temp;
}
//Some output
for (i = 0; i < 5; i++)
{
cout << array[i] << endl;
}
getch();
}
- Program Setelah dieksekusi :
materinya bagus gan, semoga materi Selection sortnya bsa saling melengkapi
.
www.markijar.blogspot.com/2015/04/contoh-program-selection-sort-c.html
sangat membantu bro,.. thx bro artikelnya
Saya kagak ngarti coeg :V