哀--没好好学习的后果三、实验内容
通过一趟将待排记录分割成独立的两个部分,其中一部分记录的关键字均比另一部分记录的关键字小。再对两个部分分别进行快速排序。四、实验步骤
1.输入待排序的记录,并选择第一个记录作为pivotkey记录
2.从high指向的记录开始,向前找到第一个关键字的值小于Pivotkey的记录,将其放到low指向的位置,low+1
3.从low指向的记录开始,向后找到第一个关键字的值大于Pivotkey的记录,将其放到high指向的位置,high-1
4.重复2,3,直到low=high,将枢轴记录放在low(high)指向的位置
5.重复1,2,3,4,直到整个记录有序为止

解决方案 »

  1.   

    现在的学生啊...
    参考<<数据结构>>
      

  2.   

    仅供参考
    void MySwapInt(int  &a,int  &b)
    {
    int t;
    t=a;
    a=b;
    b=t;
    }int Partition(int a[],int p,int r)
    {
    int i=p,j=r+1;
    int x=a[p];
    while(true)
    {
    while(a[++i]<x);
    while(a[--j]>x);
    if(i>-j)
    break;
    MySwapInt(a[i],a[j]); }
    a[p]=a[j];
    a[j]=x;
    return j;}
    void QuickSort(int a[],int p,int r)
    { if(p<r)
    { int q=Partition(a,p,r);
    QuickSort(a,p,q-1);
    QuickSort(a,q+1,r);
    }
    }