#include<iostream>
using namespace std;
void swap(int* a,int* b);
void qksort(int data[],int length)
{
if(length==0) return;
int i=0,j=length-1,key=data[0];
while(i!=j)
{
while(data[j]>key&&j>0) j--;
swap(&data[i],&data[j]);
while(data[i]<key&&i<length) i++;
swap(&data[i],&data[j]);
}
qksort(data,i);
qksort(data+i+1,length-i-1);
}
void swap(int* a,int* b)
{
int t;
t=*a;
*a=*b;
*b=t;
}
void prt(int data[],int length)
{
int i=0;
for(i=0;i<length;i++)
cout<<data[i]<<" ";
}
int main()
{
int data[]={1,2,8,3,5,4,7,6,10,9};
qksort(data,10);
prt(data,10);
cout<<endl;
return 0;
}
c++实现快速排序
最新推荐文章于 2024-03-15 17:22:03 发布