开发者社区> 问答> 正文

在数据结构中,给出一组关键字:66,30,78,53,6,18,10,11,20,49,当要求用快速排序法按升序排序.

在数据结构中,给出一组关键字:66,30,78,53,6,18,10,11,20,49,当要求用快速排序法按升序排序.

展开
收起
知与谁同 2018-07-21 11:27:03 1650 0
1 条回答
写回答
取消 提交回答
  • 社区管理员
    简略说一下一趟快速排序思想:
    1)从右边right指针处找一个比要比较数(通常是第一个数)小的,找到后放入left指针,left右移一格。

    2)从左边left指针找一个比要比较数(通常是第一个数)大的,找到后放入right指针处,right左移一格。
    3)当left小于right时,重复1,2步骤。

    原序 66, 30, 78, 53,6, 18, 10, 11, 20, 49
    第一趟排序为:49, 30, 20, 53, 6, 18, 10, 11, 66, 78
    详解:
    (1)先把数组第一个数66用变量暂存,从右边开始,49小于66,把49放入第一个位置,left自加一后指30.
    (2)从左边left处开始找,找到78大于66,把78放入right指向处(原本49的位置),right自减一后指向20处。
    (3)右边20小于66,放入原本78那个位置。
    (4)左边53,6,18,10,11均小于66,直到left与right相等,处于原本20所在位置,把66放入。
    2019-07-17 22:50:59
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
如何使用Tair增强数据结构构建丰富在线实时场景 立即下载
Apache Flink 流式应用中状态的数据结构定义升级 立即下载
低代码开发师(初级)实战教程 立即下载