编程珠玑版的快速排序quicksort(C++)
#include <iostream>
using namespace std;
void qsort(int x[],int left,int right)
{
if(left>=right)
return;
int i,t,m=left;
for(i=left+1;i<right+1;i++)
{
if(x[i]<x[left])
{
m++;
t=x[i];
x[i]=x[m];
x[m]=t;
}
}
t=x[m];x[m]=x[left];x[left]=t;
qsort(x,left,m-1);
qsort(x,m+1,right);
}
int main()
{
int x[7]={10007,1554,22,17,18,23,99};
qsort(x,0,6);
for(int i=0;i<7;i++)
{
cout<<x[i]<<" ";
}
return 0;
}
本文介绍了一种使用C++实现的快速排序算法,并通过一个具体示例展示了其排序过程。该算法首先选取一个基准元素,然后将数组分为两部分,使得一部分的所有元素都不大于基准元素,另一部分的所有元素都大于基准元素。
797

被折叠的 条评论
为什么被折叠?



