zoukankan      html  css  js  c++  java
  • 快速排序,一个爱情故事-java版

    public  static void myquicksort(int[] ages,int girl,int boy){
       //这是一个站在数组两端,追求完美爱情的故事
       //年龄不匹配的不要
        //第0步
       if(girl > boy){return;}
       int perfect = ages[girl];
       int i = girl;//分身
       int j = boy;//分身
        int tmp = 0;
    
        //寻找的终止条件是男生的分身的位置和女生分身的位置相等
        //第四步
        while(i!=j) {
            //第一步男生的分身去寻找
            while (ages[j] >= perfect && i < j) {
                j--;
            }
            //第二步女生去找
            while (ages[i] <= perfect && i < j) {
                i++;
            }
            //此时每个分身捉了不满足条件的,然后就交换
            //第三步
            if(i<j){
                tmp = ages[i];
                ages[i] = ages[j];
                ages[j] = tmp;
            }
        }
        //第5步
        //此时可以跳出循环说明i和j在一起了,可以得到perfect了
        ages[girl] = ages[i];//把当前的值给了以前的girl
        ages[i] = perfect;//i和j得到了perfect
    
        //男生和女生的后代分为两支,繁衍下去
        myquicksort(ages,girl,i-1);
        myquicksort(ages,i+1,boy);
        //第五步结束
        //剧终
    }

    参考http://developer.51cto.com/art/201403/430986.htm

  • 相关阅读:
    CentOS VPS
    Make 命令教程
    Nginx 学习
    字体对齐问题
    postman curl
    linux命令
    服务器
    操作系统
    nginx-1.15遇到无法加载php文件报404的问题
    thinkphp6.0框架下载与安装
  • 原文地址:https://www.cnblogs.com/rocky-AGE-24/p/7535801.html
Copyright © 2011-2022 走看看