Jumat, 24 Juni 2011

program quick_sort

#include <iostream.h>
#include <conio.h>

void tampilkan_larik(int data[], int n)
{
int i;
for (i=0;i<n;i++)
cout<<data[i]<<" ";
cout<<"\n";
}

int partisi (int data[], int p, int r)
{
int x,i,j,tmp;

x=data[p];
i=p;
j=r;
while(1)
{
while(data[j]>x)
j=j-1;

while(data[i]<x)
i=i+1;

if (i<j)
{
//tukarkan data
tmp=data[i];
data[i]=data[j];
data[j]=tmp;
}
else
return j;
}
}

void quick_sort(int data[], int p, int r)
{
int q;
if(p<r)
{
q=partisi(data,p,r);
quick_sort(data,p,q);
quick_sort(data, q+1,r);
}
}

int main()
{
int jum_data=9;

int i;
int data[]={25,57,48,37,12,92,80,33,1};
cout<<"Data sebelum diurut: "<<endl;
for(int ctr=0; ctr<9; ctr++)
{
cout<<data[ctr]<<" ";
}
quick_sort(data,0,jum_data-1);

//hasil pengurutan
cout<<endl;
cout<<endl;
cout<<"hasil pengurutan:\n";
tampilkan_larik(data,jum_data);
getch();
}

0 komentar:

Posting Komentar