快速排序
基础排序:快速排序 算法实现: 在排序数组中选择一个数作为基数(我这里选择数组末尾的数) 根据基数把数组切为三个部分:1.比基数小的在左边;2.比基数大的在右边;3.跟基数相等的在中间 如此分开后,三个小数组整体有序(三个数组只是以下标分开,并不是新建数组) 递归左右两个小数组 最后得到的数组就是有序的 public class QuickSort { private void swap ( int [ ] arr , int i , int j ) { int temp = arr [ i ] ; arr [ i ] = arr [ j ] ; arr [ j ] = temp ; } public void quickSort ( int [ ] arr ) { if ( arr == null || arr . length < 2 ) { return ; } quickSort ( arr , 0 , arr . length - 1 ) ; } private void quickSort ( int [ ] arr , int L , int R ) { if ( L < R ) { int [ ] p = partition ( arr , L , R ) ; //对左边进行递归 quickSort ( arr , L , p [ 0 ] - 1 ) ; /