这两种排序是看过黑马程序员的数据结构学习,和尚硅谷数据结构视频,自己学习笔记,代码注释是个人结合视频的理解。
关于图解,可以去观看视频学习,动态理解排序过程;
public class QuickSort2 {
public static void main(String[] args) {
int[] arr ={-9,78,0,23,-567,70};
quickSort(arr,0,arr.length-1);
System.out.println(Arrays.toString(arr));
// bublbingSort(arr);
// System.out.println(Arrays.toString(arr));
}
//快速排序
public static void quickSort(int arr[], int left, int right){
//当左边大于右边时推出
//这里为什么要这么做呢?因为后面我们运用了递归,递归一定得找一个出口,这就是这个出口
if (left>right){
return;
}
//确定左边的第一个数为基准数
int base = arr[left];
//左边的针
int i= left;
//右边的针
int j= right;
while (i!=j){
//从右边开始找小于基准数的。这里找到就是这个循环结束停下来,开始下面那个循环
while (arr[j]>=base && i



