快速排序

//一个便于理解但不是最优的快速排序算法c++实现。

include

using namespace std;
int tswap(int &a,int &b) //交换两个数
{
int s;
s=a;
a=b;
b=s;
return 0;
}

int qsort(int a[],int first,int tail)
{
int flag=first;
int f=first;
int t=tail;
if(first>=tail)
{
return 0;
}
else
{
while(first {
while(a[first] {
first++;
}
while(a[tail]>=a[flag]&&first {
tail--;
}
tswap(a[first],a[tail]);//交换两数
}
tswap(a[flag],a[first]);//将key和较小数交换
}
qsort(a,f,first-1);
qsort(a,first+1,t);
return 0;
}
int main()
{
int a[]= {5,3,1,5,4,8};
qsort(a,0,5);
for(int i=0; i<6; i++)
{
cout< }
return 0;
}

你可能感兴趣的:(快速排序)