C++的快排算法代碼
#include
#include
#include
#include
#define N 5000
using namespace std;
template
void qsort(T *l,T *r)
{ T *i,*j,*k;
int t;
i=l;j=r-1;k=i+rand()%(r-l);
t=*k;
while(i
{
while(i
i++;
*k=*i;k=i;
while(k
*k=*j;k=j;
}
*k=t;
if(k-l>1)qsort
if(r-k>1)qsort
}
void main()
{
srand(time(0));
int a[N];
for(int
i=0;i
a[i]=rand()%(N*5);
qsort
/*for(i=0;i for(i=1;i if(a[i-1]>a[i]) { cout< }
cout< 格式有點亂了,希望對大家有幫助!