# 快速排序 ## 基本思想 快速排序的基本思想就是类似于分书。我记得我学快速排序听到的故事就是分书的故事。 有一堆书他们有相应的序号,现在图书管理员希望你帮他把这些书按序号从小到大分好给他。我们采取的方案是把第一本书作为基准,把序号比他大的丢到右边,序号比他小的丢到左边。从而我们一直分直到所有的书都按顺序排好为止。 只要左右分的方法我们就称为快速排序。 ## 代码实现 ```java public class Main { public void quickSort(int[] arr, int l, int r) { if(l < r) { int pivot = partition(arr, l, r); quickSort(arr, l, pivot); quickSort(arr, pivot+1, r); } } public int partition(int[] arr, int l, int r) { int pivot = arr[l]; while(l < r) { while(l < r && arr[r] >= pivot) r--; arr[l] = arr[r]; while(l < r && arr[l] <= pivot) l++; arr[r] = arr[l]; } arr[l] = pivot; return l; } } ``` 最后修改:2022 年 02 月 15 日 © 允许规范转载 打赏 赞赏作者 赞 0 如果觉得我的文章对你有用,请随意赞赏