Senin, 26 Mei 2014

SA Prak 9


//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

"bayuaji-master.blogspot.com". Diberdayakan oleh Blogger.