SCAU华南农业大学数据结构8642 快速排序

SCAU华南农业大学数据结构8642 快速排序,第1张

//这题主要还是按照书本的来写,对于本题,有些命名可以优化一下自己更容易理解
#include
using namespace std;
int n;

int pa(int a[],int low,int high)
{
    a[0]=a[low];//暂存一个字表第一个要被换掉的数据,比如第一个要被交换掉的数据是a[1];
    int key=a[low];//枢轴是字表第一个数据,比如第一次是a[1];
    while(low=key)//要先从右往左换,顺序不能乱
            high--;
        a[low]=a[high];//将比枢轴小的记录移到低端
        //当这条语句第一次发生的时候,第一个大于枢轴的a[high]就把a[1]覆盖掉了,所以前面要用a[0]暂存a[1];

        while(low> n;
    int a[n+5];
    for(int i=1;i<=n;i++)   cin >> a[i];
    //a[0]的位置要空着用来暂存每次排序第一个要被替换掉的元素,到最后要把它放到每一趟结束的a[low]的位置,也就是表要分隔的位置
    quicksort(a,1,n);
    return 0;
}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/563419.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-02
下一篇 2022-04-02

发表评论

登录后才能评论

评论列表(0条)

保存