C++排序算法代码

2015-01-27 05:59:23 · 作者: · 浏览: 3

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 =t)j--;

*k=*j;k=j;

}

*k=t;

if(k-l>1)qsort (l,k);

if(r-k>1)qsort (k,r);

}

void main()

{

srand(time(0));

int a[N];

for(int i=0;i

a[i]=rand()%(N*5);

qsort (a,a+N-1);

/*for(i=0;i

for(i=1;i

if(a[i-1]>a[i])

{

cout<

}

cout<

格式有点乱了,希望对大家有帮助!