美文网首页算法
Java算法——快排算法

Java算法——快排算法

作者: 白驹过隙_a | 来源:发表于2019-01-07 21:04 被阅读0次
    public class QuickSort {
        public static void quickSortHelp(int[] arr) {
            quickSort(arr,0, arr.length-1);
        }
        public static void quickSort(int[] arr,int low, int high) {
            if(low<high) {
                int partition = partition(arr,low,high);
                quickSort(arr,low, partition-1);
                quickSort(arr,partition+1, high);
            }
            
        }
        public static int partition(int[] arr,int low,int high) {
            while(low<high) {
                while(arr[high]>=arr[low]&&low<high){
                    high--;
                }
                Swap(arr,high,low);
                while(arr[low]<=arr[high]&&low<high) {
                    low++;
                }
                Swap(arr,high,low);
            }
            return low;
        }
        public static void Swap(int[] arr,int high,int low) {
            int temp = arr[low];
            arr[low] =arr[high];
            arr[high] = temp;
        }
        public static void main(String[] args) {
            int[] array = { 2, 8, 5, 6, 10, 5, 4, 6, 11, 15, 3 };
            quickSortHelp(array);
            for (int s : array) {
                System.out.println(s);
            }
        }
    }
    

    相关文章

      网友评论

        本文标题:Java算法——快排算法

        本文链接:https://www.haomeiwen.com/subject/babprqtx.html