快速排序是对冒泡排序的改进,它使用分治法的思想,每次循环根据指定的基准数,将其他元素分别放置其左右(升序排序,大的放右小的放左),第二次循环,以基准数为中心,分为左右两部分,每部分再通过新的基准数排序…...我们对他们进行交换,交换之后各个变量的值为
int[] nums = {66, 13, 51, 23, 57, 26, 81, 69, 76};int first = 4;int last = 6;
在进行下一次循环...第一次循环结束
2、第二次循环
先在基准数左边的数和左边的数是未排序好的,以基准数为线,可以将nums数组划分为两个数组
int[] nums = {26, 13, 51, 23, 57};int[]..., 57};int first = 0;int last = 4;
基准数为26,first和last分别是0和数组长度减1,进行第一次循环的步骤,从右往左找出小于该基准数的数,从左往右找出大于该基准数的数...思考一个问题,为什么要先从右边开始查找呢?