//memakai inputan
#include <cstdlib>
#include <iostream>
using namespace std;
void tampilkan(int data[], int n)
{
int i;
for (i=1;i<=n;i++)
cout<<data[i]<<" ";
cout<<"\n";
}
int partisi (int A[], int i, int j)
{
int x,p,q,temp;
p=i;
q=j;
while(1)
{
while(A[p]<A[i])
p=p+1;
while(A[q]>A[j])
q=q-1;
if (p<q)
{
//tukarkan data
temp=A[p];
A[p]=A[q];
A[q]=temp;
}
else
return q;
}
}
void quick_sort(int A[], int i, int j)
{
int k;
if(i<j)
{
k=partisi(A,i,j);
quick_sort(A,i,k);
quick_sort(A, k+1,j);
}
}
int main(int argc, char *argv[])
{
int i,j,n,A[100];
cout<<"masukkan banyak data= ";cin>>n;
for(i=1;i<=n;i++)
{
cout<<"data ke-"<<i<<" = ";cin>>A[i];
}
cout<<"Data sebelum diurut: "<<endl;
for(j=1;j<=n;j++)
{
cout<<A[j]<<" ";
}
quick_sort(A,1,n);
//hasil pengurutan
cout<<endl;
cout<<endl;
cout<<"hasil pengurutan:\n";
tampilkan(A,n);
system("PAUSE");
return EXIT_SUCCESS;
}



0 comments:
Posting Komentar