1:代码:
/*
方法一:普通方法。从j开始向前搜索,找到第一个小于key的值A[j],交换A[i]和A[j]从i开始向后搜索,找到第一个大于key的值A[i],交换A[i]和A[j]
直到i=j,对两边的数据再分组分别进行上述过程,直到不能再分组为止。
*/
/*
#include <iostream>
using namespace std;
void quicksort(int a[],int p,int r)
{
if(p>=r){return;}
int i=p,j=r;
int key=a[p];
while(i<j)
{
while(i<j&&a[j]>=key)
{
j--;
}
a[i]=a[j];
while(i<j&&a[i]<=key)
{
i++;
}
a[j]=a[i];
}
a[i]=key;
quicksort(a,p,i-1);
quicksort(a,i+1,r);
}
i