STRUKTUR
DATA
TA. 2020-2021
1
Contoh program :
#include <iostream>
using namespace std;
main(){
int data[6] = {32,75,69,58,21,40};
int i,pos,j,temp;
i = 0;
pos = 0;
j = 1;
cout<<"Data Awal : ";
for(int x=0;x<=5;x++){
cout<<data[x]<<" ";
}
cout<<endl<<endl;
for(int z=0;z<=4;z++){
i = z;
pos = z;
j = z + 1;
while (j < 6){
if(data[j] < data[pos]){
pos = j;
j = j + 1;
}else{
pos = pos;
j = j + 1;
}
}
if(pos!=i){
temp = data[pos];
data[pos] = data[i];
data[i] = temp;
2
}
cout<<"Proses "<<z+1<<" = ";
for(int x=0;x<=5;x++){
cout<<data[x]<<" ";
}
cout<<endl;
}
}
Tampilkan :
3
Algoritma quick sort :
1. Mengecek apakah A [ i ] < tengah
a. Jika ya, i++ ; Ke langkah 1
b. Jika tidak, i = i ; ke langkah 2
2. Mengecek apakah A [ j ] > tengah
a. Jika ya, j-- ; ke langkah 2
b. Jika tidak, j = j ; ke langkah 3
3. Mengecek apakah i <= j
a. Jika ya, tukar A [ i ] dengan A [ j ]
i++, j-- ; ke langkah 4
b. Jika tidak, ke langkah 4
4. Mengecek apakah i > j
a. Jika ya, ke langkah 5
b. Jika tidak, ke langkah 1
5. Mengecek apakah L < j
a. Jika ya, panggil fungsi Quicksort( L, J )
b. Jika tidak, ke langkah 6
6. Mengecek apakah i < R
a. Jika ya, panggil Quicksort ( i, R )
b. Jika tidak, Selesai.
if (i <= j){
int t;
t = data[j];
data[j] = data[i];
data[i] = t;
i++;
4
j--;
cout<<"Quicksort ("<<L<<", "<<R<<") = ";
for(int i=0;i<5;i++){
cout<<data[i]<<" ";
}
cout<<endl;
}
}while (i < j);
main(){
cout<<" Proses Quick Sort"<<endl;
cout<<"------------------------------------- "<<endl;
cout<<"Data awal : ";
for(int i=0;i<5;i++){
cout<<data[i]<<" ";
}
cout<<endl;
QuickSort(0,4);
}
Tampilan :