Selection sort adalah tehnik pengurutan dengan cara
memilih elemen atau proses kerja dengan cara memilih elemen terkecil
untuk kemudian dibandingkan & ditukarkan dengan elemen data awal dab
seterusnya sampai dengan seluruh elemen,sehingga akan menghasilkan pola
data yang telah di sort.
Selection Sort berbeda dengan Bubble sort. Selection Sort pada dasarnya memilih data yang akan diurutkan menjadi dua bagian, yaitu bagaian yang sudah diurutkan dan bagian yang belum di urutkan.
Langkah pertama dicari data terkecil dari data pertama sampai data terakhir. Kemudian data terkecil ditukar dengan data pertama. Dengan demikian, data pertama sekarang mempunyai nilai paling kecil dibanding data yang lain. Langkah kedua, data terkecil kita cari mulai dari data kedua sampai terakhir. Data terkecil yang kita peroleh ditukar dengan data kedua dan demikian seterusnya sampai semua elemen dalam keadaan terurutkan. Metode ini lebih efektif dari pada metode Bubble karena tidak memerlukan banyak pertukaran dan pengalokasian memori.
Penerapan Algoritma SelectionSort:
#include <iostream>
#include <cstdio>
using namespace std;
void cetak(int *array,int length) //print array elements
{
int i=0;
for(i=0;i<length;i++)
cout<<array[i] << ” ” ;
cout << endl;
}
void selectionSort(int *arr,int n)//Bubble sort function
{
int i,j,minindex,tmp;
for(i=0;i<n-1;i++)
{
minindex=i;
for(j=i+1;j<n;j++)
if(arr[j] < arr[minindex])minindex=j;
if (minindex != i) {
tmp = arr[i];
arr[i] = arr[minindex];
arr[minindex] = tmp;
}
}
}
int main()
{
int a[]={9,6,5,23,2,66,14,8,2,7,1,8}; // array to sort
cetak(a,12); // print elements
selectionSort(a,12); //call to bubble sort
cetak(a,12); // print elements
return 0;
}
Selection Sort berbeda dengan Bubble sort. Selection Sort pada dasarnya memilih data yang akan diurutkan menjadi dua bagian, yaitu bagaian yang sudah diurutkan dan bagian yang belum di urutkan.
Langkah pertama dicari data terkecil dari data pertama sampai data terakhir. Kemudian data terkecil ditukar dengan data pertama. Dengan demikian, data pertama sekarang mempunyai nilai paling kecil dibanding data yang lain. Langkah kedua, data terkecil kita cari mulai dari data kedua sampai terakhir. Data terkecil yang kita peroleh ditukar dengan data kedua dan demikian seterusnya sampai semua elemen dalam keadaan terurutkan. Metode ini lebih efektif dari pada metode Bubble karena tidak memerlukan banyak pertukaran dan pengalokasian memori.
Penerapan Algoritma SelectionSort:
#include <iostream>
#include <cstdio>
using namespace std;
void cetak(int *array,int length) //print array elements
{
int i=0;
for(i=0;i<length;i++)
cout<<array[i] << ” ” ;
cout << endl;
}
void selectionSort(int *arr,int n)//Bubble sort function
{
int i,j,minindex,tmp;
for(i=0;i<n-1;i++)
{
minindex=i;
for(j=i+1;j<n;j++)
if(arr[j] < arr[minindex])minindex=j;
if (minindex != i) {
tmp = arr[i];
arr[i] = arr[minindex];
arr[minindex] = tmp;
}
}
}
int main()
{
int a[]={9,6,5,23,2,66,14,8,2,7,1,8}; // array to sort
cetak(a,12); // print elements
selectionSort(a,12); //call to bubble sort
cetak(a,12); // print elements
return 0;
}
No comments:
Post a Comment