Exchange sort membandingkan suatu elemen dengan elemen-elemen lainnya dalam array tersebut, dan melakukan pertukaran elemen jika perlu. Jadi ada elemen yang selalu menjadi elemen pusat (pivot). Sedangkan Bubble sort akan membandingkan elemen pertama/terakhir dengan elemen sebelumnya/sesudahnya, kemudian elemen tersebut itu akan menjadi pusat (pivot) untuk dibandingkan dengan elemen sebelumnya/sesudahnya lagi, begitu seterusnya
cara pengurutan exchange sort yang mengurutkan descending.
cara kerja exchange sort :
Pseudocode :
#include<iostream.h>
#include<conio.h>
int data[10],data2[10];
int n;
void tukar(int a, int b) {
int t;
t = data[b];
data[b] = data[a];
data[a] = t;
}
void exchange_sort() {
for (int i=0; i<=n; i++)
{
for(int j = (i+1); j<=n; j++)
{
if (data [i] > data[j]) tukar(i,j);
}
}
}
int main() {
cout<<"===PROGRAM EXCHANGE SORT==="<<endl;
//input data
cout<<"\nmasukkan jumlah data :";
cin>>n;
for(int i=1;i<=n;i++) {
cout<<"\nMasukkan data ke "<<i<<" : ";
cin>>data[i];
data2[i]=data[i]; }
cout<<"\n\thasil awal :";
for(int i=1;i<=n;i++)
{
cout<<data[i]<<" ";
}
cout<<"\n\n";
exchange_sort();
cout<<"\n";
//tampilkan data
cout<<"Data Setelah di Sort : ";
for(int i=1; i<=n; i++)
{
cout<<" "<<data[i];
}
cout<<"\n\nsorting selesai";
}
Tidak ada komentar:
Posting Komentar