TUGAZ SORTING/selection sort

Selection Sort

Pengertian dari selection sort adalah mencari elemen yang tepat untuk diletakkan di posisi yang telah diketahui, dan meletakkannya di posisi tersebut setelah data tersebut ditemukan.Selection Sort Membandingkan elemen yang sekarang dengan elemen yang berikutnya sampai dengan elemen yang terakhir. Jika ditemukan elemen lain yang lebih kecil dari elemen sekarang maka dicatat posisinya dan kemudian ditukar. Dan begitu seterusnya deh.

Ilustrasinya :

selection1selection2



Proses pengurutan di atas adalah dengan metoda selection Ascending.Untuk descending hanyalah kebalikan dari proses di atas.

Programnya:

#include <iostream.h>

#include <conio.h>

int data[100],data2[100];

int n;

void tukar(int a,int b)

{

int t;

t = data[b];

data[b] = data[a];

data[a] = t;

}

void selection_sort()

{

int pos,i,j;

for(i=0;i<n-1;i++)

{

pos = i;

for(j = i+1;j<n;j++)

{

if(data[j] < data[pos]) pos = j;

}

if(pos != i) tukar(pos,i);

}

cout<<“selection sort selesai!”<<endl;

}

void Input()

{

cout<<“Masukkan jumlah data = “; cin>>n;

for(int i=0;i<n;i++)

{

cout<<“Masukkan data ke-“<<(i+1)<<” = “; cin>>data[i];

data2[i] = data[i];

}

}

void Tampil()

{

cout<<“Data : “<<endl;

for(int i=0;i<n;i++)

{

cout<<data[i]<<” “;

}

cout<<endl;

}

void AcakLagi()

{

for(int i=0;i<n;i++)

{

data[i] = data2[i];

}

cout<<“Data sudah teracak!”<<endl;

}

void main()

{

int pil;

clrscr();

do

{

clrscr();

cout<<“Program Sorting !!!”<<endl;

cout<<“*********************************************”<<endl;

cout<<” 1. Input Data”<<endl;

cout<<” 2. Selection Sort”<<endl;

cout<<” 3. Tampilkan Data”<<endl;

cout<<” 4. Acak Data”<<endl;

cout<<” 5. Exit”<<endl;

cout<<” Pilihan Anda = “; cin>>pil;

switch(pil)

{

case 1:Input(); break;

case 2:selection_sort(); break;

case 3:Tampil(); break;

case 4:AcakLagi(); break;

}

getch();

}while(pil!=5);

}

~ by rusdia on July 1, 2009.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

 
%d bloggers like this: