• 快速排序单循环


    void quickSort(int(&arr)[BUFSIZ],int start,int end)
    {
        int key=arr[start];
        int p1=start;
        int p2=end;
    
        if(end<=start)return;
    
        while(p1!=p2){
            if(arr[p1]>=key && arr[p2]<key){
                swap(arr[p1],arr[p2]);
                if((p2-p1)>2){
                    p1=p1+1;
                    p2=p2-1;
                }else if((p2-p1)==2){
                    if(arr[p1+1]>key){
                        p2=p2-2;
                    }else{
                        p1=p1+1;
                        p2=p2-1;
                    }
                }else{
                    p2=p2-1;
                }
            }else if(arr[p1]>=key){
                p2=p2-1;
            }else if(arr[p2]<key){
                p1=p1+1;
            }else{
                if((p2-p1)>2){
                    p1=p1+1;
                    p2=p2-1;
                }else if((p2-p1)==2){
                    if(arr[p1+1]>key){
                        p2=p2-2;
                    }else{
                        p1=p1+1;
                        p2=p2-1;
                    }
                }else{
                    p2=p2-1;
                }
            }
        }
    
        quickSort(arr,start,p2);
        quickSort(arr,p2+1,end);
    }
    相信世界是平的
    谨记四个字“修身养性”
    大江东去浪淘尽英雄,再牛B的人物最后也是一掊土
    向善不是目的,而是抚慰心灵,更多的感受幸福,感谢别人给你行善的机会
    相信老子的话:万物生于有,有生于无,一切的道理都源于一个无法证明的假设
    我是好是坏就自然而然的摆在那里,并不会因为别人的评价而改变什么,我也不需要别人用一张纸来说明我什么,世间最难得的是自由



    支持大额赞助:
  • 相关阅读:
    WinForm 资源文件的使用
    php 常量
    netbean使用技巧
    netbeans 7安装xdebug调试php程序
    eclipse 开发技巧
    asp.net 获取客户机IP地址
    NameValueCollection详解
    Paramics插件编程进程间通讯
    Paramics API编程配置
    windows查询端口占用
  • 原文地址:https://www.cnblogs.com/sky-view/p/5097944.html
Copyright © 2020-2023  润新知