2021.10.06 - 114.排序

1. 题目

在这里插入图片描述

2. 思路

(1) 快速排序

  • 最基本的快速排序算法。

3. 代码

public class Test {
    
    
    public static void main(String[] args) {
    
    
    }
}

class Solution {
    
    
    public int[] MySort(int[] arr) {
    
    
        sort(arr, 0, arr.length - 1);
        return arr;
    }

    private void sort(int[] arr, int left, int right) {
    
    
        if (left < right) {
    
    
            int low = left;
            int high = right;
            int pivot = arr[low];
            while (low < high) {
    
    
                while (low < high && arr[high] >= pivot) {
    
    
                    high--;
                }
                arr[low] = arr[high];
                while (low < high && arr[low] <= pivot) {
    
    
                    low++;
                }
                arr[high] = arr[low];
            }
            arr[low] = pivot;
            sort(arr, left, low - 1);
            sort(arr, low + 1, right);
        }
    }
}

猜你喜欢

转载自blog.csdn.net/qq_44021223/article/details/120623500