返回值为int[] 的快排写法

Posted 王六六同学

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了返回值为int[] 的快排写法相关的知识,希望对你有一定的参考价值。

import java.util.*;
public class Main
    public int[] solution(int[] array) 
        // 在这⾥写代码
      quickSort(array, 0 , array.length - 1);
      int[] res = new int[array.length];
      for(int i=0;i<res.length;i++)
        res[i] = array[i];
      
      return res;
    
  
    public  void quickSort(int[] nums, int l, int r)
      if(l >= r)
        return;
      
      int i = l, j = r, pivot = nums[l];
      
      while(i < j)
        while(i < j && nums[j] >= pivot) j--;
        while(i < j && nums[i] <= pivot) i++;
        swap(nums,i,j);
      
      swap(nums,i,l);
      quickSort(nums,l,i-1);
      quickSort(nums,i+1, r);
    
    public void swap(int[] nums, int i, int j)
      int tmp = nums[i];
      nums[i] = nums[j];
      nums[j] = tmp;
    

以上是关于返回值为int[] 的快排写法的主要内容,如果未能解决你的问题,请参考以下文章

稳定的快排

Python的快排应有的样子

最优美的快排代码

最优美的快排代码

快排的两种写法

易错的快排---qsort()