• 快速排序


    public class Test1 {
        public static void main(String[] args) {
            Integer[] arr= {70,120,10,20,50,60,30,40,980};
            Test1 test1 = new Test1();
    //        test1.maopao(arr);
            test1.kuaisu(arr, 0, arr.length-1);
            for (int i = 0; i < arr.length; i++) {
                System.out.println(arr[i]);
            }
        }


        /**
         * 快速排序,二分法
         * @param arr
         */
        public void kuaisu(Integer[] arr,int low,int length) {
            int i,j,temp,t;
    //        如果下标大于最大长度,跳出
            if(low>length) return;
            i=low;
            j=length;
    //        基准位
            temp=arr[low];
    //        循环
            while(i<j) {
                while(temp<=arr[j] && i<j) {
                    j--;
                }
                while(temp>=arr[i] && i<j) {
                    i++;
                }
                if (i<j) {
                    t=arr[j];
                    arr[j]=arr[i];
                    arr[i]=t;
                }
            }
            arr[low]=arr[i];
            arr[i]=temp;
            kuaisu(arr, low, j-1);
            kuaisu(arr, j+1, length);
        }
    }

  • 相关阅读:
    mini2440移植uboot 2014.04(四)
    mini2440移植uboot 2014.04(三)
    【这些年】Linux C/C++软件开发用过的工具
    Valgrind的Memcheck快速入门
    《浪潮之巅》读后感
    三层浅析及示例分析
    C语言的代码内存布局详解
    超级立方体小记
    如何和项目经理沟通产品的交付?
    CentOS配置smaba与Windows共享文件
  • 原文地址:https://www.cnblogs.com/nnnnmmmm/p/11663512.html
Copyright © 2020-2023  润新知