开发者社区> 问答> 正文

快排算法是怎样排序的呢

若是以第一个元素为基准,21 25 5 17 9 23 30这个序列的第一遍排序后的结果是什么呢

展开
收起
知与谁同 2018-07-19 12:09:41 1572 0
1 条回答
写回答
取消 提交回答
  • 快排的一趟称为一次划分,原因是一趟排序后,数组以基准元素X为界,左边的元素都小于等于X,右边的元素都大于等于X。
    要做到这点:先刨去21,再设俩指针,一个指向最左边,一个指向最右边。左边指针的往右走,找一个大于等于21的元素,右边的指针往左走,找一个小于等于21的元素,然后俩指针的值交换。继续循环上面的过程。直到俩指针相遇或擦肩而过。把21交换到俩指针相遇的地方就可以了。
    第一次交换25和9,然后俩指针相遇,把21和界限处的17交换,得到:
    结果:17 9 5 21 25 23 30
    2019-07-17 22:50:31
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
数据+算法定义新世界 立即下载
袋鼠云基于实时计算的反黄牛算法 立即下载
Alink:基于Apache Flink的算法平台 立即下载