STRUKTUR
DATA
TA. 2020-2021
Kemudian dalam sorting terdapat prosedur untuk menukar 2 buah data dengan
bentuk umumnya sebagai berikut
void tukar
{
int tmp = data[a];
data[a] = data[b];
data[b] = tmp;
}
1
seolah-olah menggeser satu elemen dari kanan kekiri atau sebeliknya,
tergantung jenis pengurutanya.
int main()
{
int list[4]={7,5,9,3};
int temp;
cout<<"Data Random ";
for(int d=0;d < 4;d++)
{
cout<<" "<<list[d];
}
2
cout<<"\n\n";
for(int i=0;i<=3;i++)
{
cout<<" Proses ke "<<i+1<<" = ";
for(int x=0;x<3;x++)
{
if(list[x]>=list[x+1])
{
temp=list[x];
list[x]=list[x+1];
list[x+1]=temp;
}
}
for(int y=0;y<4;y++)
{
cout<<" "<<list[y];
}
cout<<endl;
}
cout<<endl;
cout<<"Data setelah di urutkan : ";
for (int d=0;d<4;d++)
{
cout<<" "<<list[d];
}
}
Tampilan program
3
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. Disitulah dimana letak perbedaan exchange dan bubble sort
terletak.
4
Proses 3
Proses 5
int main()
{
int data[6]={84,69,58,46,94,91};
int tanda;
cout<<"Data awal : ";
for(int x;x<6;x++)
{
cout<<data[x]<<" ";
5
}
cout<<endl<<endl;
for(int b=0;b<5;b++) // looping Proses dan
pivot
{
cout<<"Proses "<<b+1<<" = ";
for(int a=b;a<5;a++) //looping
perbandingan pivot dengan kolom
{
if(data[b]<data[a+1])
{
data[b]=data[b];
}
else
{
tanda=data[b];
data[b]=data[a+1];
data[a+1]=tanda;
}
}
for(int a=0;a<6;a++)
{
cout<<data[a]<<" ";
}
cout<<endl;
}
}
Tampilan program
6
selembar demi selembar. Dalam insertion pengurutan dimulai dari elemen-2
sampai elemen terakhir, jika ditemukan yang lebih kecil, maka akan
ditempatkan pada posisi yang seharusnya.
Proses 2
7
Proses 3
Proses 4
8
Proses 5
int main()
{
int data[5]={20,34,12,5,60};
cout<<"Data awal : ";
for(int i=0;i<5;i++)
{
cout<<data[i]<<" ";
}
cout<<endl;
int temp,x,j;
for(x=1;x<5;x++)
{
temp = data[x];
for(j=x-1;j>=0;j--)
{
if (temp<= data[j])
{
data[j+1]=data[j];
data[j]=temp;
temp=data[j];
}
}
cout<<"Proses "<<x<<" = ";
for(int y=0;y<5;y++)
{
cout<<data[y]<<" ";
}
cout<<endl;
}
9
}
Tampilan program
10