快排

过了这么长时间,又自己写了回快排,发现没有当时想的那么难以理解,看来老师的讲述方式有问题啊。。。

代码贴这里,以后没准会看看

#include<iostream>
using namespace std;

int num[10] = {14, 88, 35, 9, 26, 71, 53, 3, 10, 48};
int partition(int N[], int l, int r)
{
if(l == r)
return l;
int temp = N[r];
int i,j,t;
i = l - 1;
for(j = l; j <= r-1; j++){
if(N[j] < temp){
i = i + 1;
t = N[i];
N[i] = N[j];
N[j] = t;
}
}
t = N[r];
N[r] = N[i+1];
N[i+1] = t;
return i+1;
}
void qsort(int N[], int l, int r){
if(l >= r)
return;
int t = partition(N, l, r);
qsort(N, l, t-1);
qsort(N, t+1, r);
}
int main()
{
int i,j;
for(i = 0; i < 10; i++)
{
cout<<num[i]<<" ";
}
cout<<endl;
qsort(num, 0, 9);
for(i = 0; i < 10; i++)
{
cout<<num[i]<<" ";
}
cout<<endl;
system("pause");
return 0;
}



原文地址:https://www.cnblogs.com/waruzhi/p/2349779.html