C++及算法学习#2 快速排序

学习总结:设置基准数pivot 注意考虑起始值与pivot之间大小关系不同需要的设置演练:需要排序数字 50 34 453 34 56 78 90 33 25 思路:设定初始pivot=最左值,即50 第一步目标为先将数组变为: 25 34 34 50 56 78 90 56 453 显然,以50为分界线,左边小于50,右边大于50 Left=50,则
摘要由CSDN通过智能技术生成

学习总结:

  • 设置基准数pivot
  • 注意考虑起始值与pivot之间大小关系不同需要的设置

演练:

需要排序数字
50 34 453 34 56 78 90 33 25

思路:

  • 设定初始pivot=最左值,即50
  • 第一步目标为先将数组变为:
    25 34 34 50 56 78 90 56 453

    显然,以50为分界线,左边小于50,右边大于50

  • Left=50,则Right=25,Left寻找大于pivot的数,Right寻找小于pivot的数
  • 考虑到Right可能初始值就小于Left(即本例的情况),则Right先移动
  • 当Left、Right找到自己所需值,则停下来,双方都停止时,交换数值
  • 定义一个方法对数值大小进行比较

代码(未完成)


                
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值