用二维数组对每行的快速排序
例如a[5][2]={{4,1},{6,8},{3,2},{1,5},{10,3}};(只对每行第0列的数进行快速排序)
则输出:1 5
3 2
4 1
6 8
10 3
本人的快速排序如下:
void Quick_Sort(int R[],int left, int right)
{//用递归方法把R[left]至R[right]的记录进行快速排序
int i=left,j=right,k;
int temp;
if(left<right)
{
temp=R[left]; //将区间的第1个记录作为基准置入临时单元中
while(i!=j) //从序列两端交替向中间扫描,直至i=j为止
{
while(j>i&&R[j]>=temp)
j--; //从右向左扫描,找第1个关键字小于temp.key的R[i]
if(i<j) //若找到这样的R[j],将R[j]存放到R[i]处
{
R[i]=R[j];
i++;
}
while(i<j&&R[i]<=temp)
i++; //从左向右扫描,找第1个关键字大于temp.key的R[i]
if(i<j) //找到则将R[i]存放到R[i]处
{
R[j]=R[i];
j--;
}
}
R[i]=temp; //将基准放入其最终位置
Quick_Sort(R,left,i-1); //对基准前面的记录进行递归排序
Quick_Sort(R,i+1,right); //对基准后面的记录序列进行递归排序
}
}