快速排序

来源:互联网 发布:u盘ubuntu分区教程 编辑:程序博客网 时间:2024/06/12 21:19
#include<iostream>
using namespace std;
int partition(int A[],int p,int r)
{
int temp=A[r];
int i,j;
int exchange;
 i=p-1;
for(j=p;j<r;j++)
   if(A[j]<=temp)
     {   i=i+1;
         exchange=A[j];
         A[j]=A[i];
         A[i]=exchange;
      }
 A[r]=A[i+1];
 A[i+1]=temp;
return i+1;
}
void quicksort(int A[],int p,int r)
{
int q;
   if(p<r)
{  q=partition(A,p,r);
   quicksort(A,p,q-1);
   quicksort(A,q+1,r);
}
}
int main()
{
int a[10]={10,9,8,7,6,1,4,3,2,5};

quicksort(a,0,9);
for(int i=0;i<10;i++)
cout<<a[i]<<" ";
cout<<endl;

return 0;
}
0 0