首页 > 其他分享 >QuickSort

QuickSort

时间:2023-01-03 21:47:37浏览次数:40  
标签:Arrays nums int QuickSort start while public

import java.util.Arrays;

public class QuickSort {
    public static void main(String[] args) {
        int[] nums = {11, 24, 5, 32, 50, 34, 54, 76};
        System.out.println("快速排序前:" + Arrays.toString(nums));
        quickSort(nums, 0, nums.length - 1);
        System.out.println("快速排序后:" + Arrays.toString(nums));
    }

    public static void quickSort(int[] nums, int start, int end) {
        if (start > end) return;
        int i, j, base;
        i = start;
        j = end;
        base = nums[start];
        while (i < j) {
            while (i < j && nums[j] >= base) j--;
            while (i < j && nums[i] <= base) i++;
            if (i < j) {
                swap(nums, i, j);
            }
        }
        swap(nums, start, i);
        quickSort(nums, start, j - 1);
        quickSort(nums, j + 1, end);
    }

    public static void swap(int[] nums, int left, int right) {
//                          传入数组nums
        int temp = nums[left];
        nums[left] = nums[right];
        nums[right] = temp;
    }
}

标签:Arrays,nums,int,QuickSort,start,while,public
From: https://www.cnblogs.com/chenrunun/p/17023431.html

相关文章

  • Pattern-defeating Quicksort
    https://arxiv.org/pdf/2106.05123.pdf//pdqsort_funcsortsdata[a:b].//Thealgorithmbasedonpattern-defeatingquicksort(pdqsort),butwithouttheoptimiza......
  • POJ2299-Ultra-QuickSort
    Ultra-QuickSortInthisproblem,youhavetoanalyzeaparticularsortingalgorithm.Thealgorithmprocessesasequenceofndistinctintegersbyswappingtwo......
  • 使用 QuickSort 算法解决排序数组
    使用QuickSort算法解决排序数组这里我们将讨论一个案例,如何将一系列数字以随机排列的数组的形式排序,使其成为从最小到最大的数字序列。我们将使用最后一个元素的方法......