Kali ini saya akan memposting program dengan selection sort.
1. Mengerti masalah
untuk mengurutkan bilangan menggunakan selection sort
6 1 91 4 26 18 8 2
1 6 91 4 26 18 8 2
1 2 6 91 4 26 18 8
1 2 4 6 91 26 18 8
1 2 4 6 8 91 26 18
1 2 4 6 8 18 91 26
1 2 4 6 8 18 26 91
2.Mengidentifikasi input,proses,output.
menginputkan data yang belum terurut, terus prosesnya nanti akan dicek lalu dibandingkan dengan semua data apabila ada angka yang terkecil ditandai lalu dipindahkan ke indeks pertama lalu outputnya bilangan yang telah terutkan
3.Algoritma
procedure selection_sort(input/output data, integer n)
Deklarasi:
angka =char
i,t,j,p,a,b =integer
Deskripsi:
for(i=1;i<=n;i++)
for(i=1;i<=n-1;i++)
p=i
for(j=i+1;j<=n;j++)
if(angka[j]<angka[p])
p=j
if(p!=1)
t=angka[b];
angka[b]=angka[a];
angka[a]=t;
4.code c++
#include
<iostream>
/* run this
program using the console pauser or add your own getch,
system("pause") or input loop */
int angka[100];
int n;
void tukar(int
a,int b){
int t;
t=angka[b];
angka[b]=angka[a];
angka[a]=t;
}
void seleksi(){
int p,i,j;
for(i=1;i<=n-1;i++){
p=i;
for(j=i+1;j<=n;j++){
if(angka[j]<angka[p])p=j;
}
if(p!=1)tukar(p,i);
}
}
int main(int
argc, char** argv) {
cout<<"\t\tProgram
selection"<<endl<<endl;
cout<<"Masukkan
jumlah data ";cin>>n;cout<<endl;
for(int
i=1;i<=n;i++){
cout<<"masukkan
data ke-"<<i<<" ";cin>>angka[i];cout<<endl;
}
cout<<"data
sebelum di sort: ";
for(int
i=1;i<=n;i++){
cout<<angka[i]<<"
";
}
cout<<endl;
seleksi();
cout<<"data
setelah di sort: ";
for(int
i=1;i<=n;i++){
cout<<angka[i]<<"
";
}
return 0;
}
5.Program
1 https://c96net.blogspot.co.id/2016/05/mengurutkan-deret-bilangan-dengan.html
2 http://lempuingfc.blogspot.co.id/2016/05/program-mengurutkan-deret-bilangan.html