快速排序(Quicksort)

来源:互联网 发布:中值滤波算法原理 编辑:程序博客网 时间:2024/05/21 10:51

时间负责度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. 把前面的序列和后面的序列 递归调用 快速排序 直到都排好序


0 0
原创粉丝点击