时间负责度N*logN
快速排序的要点:(j要先动,再动i)
1.随意找到一个基准数,通常选从左边第一个数arr[1]
2.比较:两个下标i(从左开始)和j(从右开始),首先从j开始,找到比基准数小的为止,如果arr[j] > arr[1],那么j--,直到找到arr[j] < arr[1], j停下
然后从i这边找到比基准数大的为止,如果arr[i] < arr[1],那么i++,直到找到arr[i] > arr[1], i停下
3. 然后交换arr[i]和arr[j]的位置
4,. 接着重复1-3步,一直到i=j, 这时交换arr[1] 和 arr[i], 交换后 arr[i] 所在的位置,前面的序列都比它小,后面的序列都比它大
5. 把前面的序列和后面的序列 递归调用 快速排序 直到都排好序