zoukankan      html  css  js  c++  java
  • 【java数据结构】快速排序

    package quicklySort;
    
    public class QuicklySort {
        /**
         * 获取枢纽下标
         * @param arr
         * @param left
         * @param right
         * @return
         */
        private static int getStart(int arr[],int left,int right) {
            int temp = arr[left];//选一个值作为中间值作为枢纽
            while(left<right) {//从右向左找比temp小的
                while(arr[right] >= temp && left < right) {
                    right--;
                }
                if(left<right) {
                    arr[left] = arr[right];//将比temp小的放在低端
                    left++;
                }
                while(arr[left] <= temp && left < right) {//从左向右找比temp大的
                    left++;
                }
                if(left<right) {
                    arr[right] = arr[left];//将比temp大的放在高端
                    right--;
                }
            }
            arr[left] = temp;//当left = right时,将中间值放下    
            return left;//返回枢纽下标
        }
        /**
         * 快速排序
         * @param arr
         * 待排序数组
         * @param left
         * 起点
         * @param right
         * 终点
         */
        public static void quickSort(int[] arr,int left,int right) {
            if(left < right) {
                int s = getStart(arr,left,right);
                quickSort(arr, left, s-1);
                quickSort(arr, s+1, right);
            }
        }
        /**
         * 快速排序
         * @param arr
         * 待排序数组
         */
        public static void quickSort(int[] arr) {
            int left = 0;
            int right = arr.length-1;
            if(left < right) {
                int s = getStart(arr,left,right);
                quickSort(arr, left, s-1);
                quickSort(arr, s+1, right);
            }
        }
    }
    
  • 相关阅读:
    关于android示例程序(bitmapfun)——高效加载图片的坑爹地方
    UML笔记
    设计模式>单例模式
    一件很诡异的事CSS
    添加option问题
    a:visited:hover
    电脑出问题了
    邪神呀concat
    关于鼠标中键滚动的问题onmousewheel
    坚强的人
  • 原文地址:https://www.cnblogs.com/cnsec/p/13286793.html
Copyright © 2011-2022 走看看