Rabu, 25 April 2012

C++, Metoda Pengurutan Exchange Sort

Metode pengurutan excahange sort mirip dengan metode pengurutan Buble Sort . Tapi dalam cara membandingan antar elemennya memiliki tentu memiliki perbedaan.
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";            
}