
CONTOH PROGRAM SORTING KOMPLIT ( bubble sort, exchange sort, selection sort, insert sort dan Quick sort ) >>>
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 input()
{
cout<<"Masukkan Jumlah Data = "; cin>>n;
for(int i=0;i
{
cout<<"Masukkan Data ke-"<<(i+1)<<" = ";
cin>>data[i];
data2[i] = data[i];
}
}
void Tampil()
{
cout<<"Data : "<
for(int i=0;i
{
cout<
}
cout<
}
void AcakLagi()
{
for(int i=0;i
{
data[i] = data2[i];
}
cout<<"Data sudah teracak!"<
}
void buble_sort()
{
for (int i=1;i
{
for(int j=n-1;j>=i;j--)
{
if(data[j]
}
}
cout<<"buble sort selesai!"<
}
void exchange_sort()
{
for(int i=0;i
{
for(int j=(i+1);j
{
if(data[i] > data[j]) tukar(i,j);
}
}
cout<<"exchange sort selesai!"<
}
void selection_sort()
{
int pos,i,j;
for(i=0;i
{
pos = i;
for(j=i+1;j
{
if(data[j] < pos =" j;
}
if(pos!=i) tukar(pos,i);
}
cout<<"selection sort selesai!"<
}
void insertion_sort()
{
int temp,i,j;
for(i=1;i
{
temp = data[i];
j =i-1;
while(data[j]>temp && j>=0)
{
data[j+1] = data[j];
j--;
}
data[j+1] = temp;
}
cout<<"insertion sort selesai!"<
}
void QuickSort (int L,int R)
{
int i,j;
int mid;
i = L;
j = R;
mid = data[(L+R) / 2];
do
{
while(data[i] <>
while(data[j] > mid) j--;
if(i <=j)
{
tukar(i,j);
i++;
j--;
};
}
while(i
if(L <>
if(i > R) QuickSort(i,R);
}
void main()
{
int pil;
clrscr();
do
{
clrscr();
cout<<"Program Sorting Komplit"<
cout<<"++++++++++++++++++++"<
cout<<"1.Input data"<
cout<<"2.Bubble sort"<
cout<<"3.Exchange sort"<
cout<<"4.Selection sort"<
cout<<"5.Insertion sort"<
cout<<"6.Quick sort"<
cout<<"7.Tampilkan data"<
cout<<"8.Acak lagi"<
cout<<"9.Exit"<
cout<<"pilihan = "; cin>>pil;
switch(pil)
{
case 1: input(); break;
case 2: buble_sort(); break;
case 3: exchange_sort(); break;
case 4: selection_sort(); break;
case 5: insertion_sort(); break;
case 6: QuickSort(0,n-1); break;
case 7: Tampil(); break;
case 8: AcakLagi();break;
}
getch();
} while(pil!=9);
}