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);
            }
        }
    }
    
  • 相关阅读:
    C#将List<T>转化为DataTable
    SqlServer常用内置函数
    C#索引器
    验证Textbox的字符长度
    WM消息对应的Message消息中的Lparam和WParam
    对窗体操作的WM消息
    DllImport使用
    C#获取当前路径的七种方法
    注册ActiveX控件
    [转]VS2010中水晶报表安装应用及实例
  • 原文地址:https://www.cnblogs.com/cnsec/p/13286793.html
Copyright © 2011-2022 走看看