程序设计--有关排序的料

排序是我们在处理数据时常用的一种手段,排序以后,数据往往会更加容易去后续的操作,比如增加,删除,修改,查询。
常用的排序方式有:冒泡排序,选择排序,交换排序,快速排序,基数排序、

冒泡排序:每一次比较的时候 相邻两个数进行比较,较大的数据往后移动,那么一轮下来最大的数将在放在最后的位置


选择排序:每一次比较以后找到了最小的数,这时候把它和最前面的值交换


交换排序:每一次比较的时候,最前面的数与后面的值一一进行比较,如果比最前面的值大的话,那么两者将交换值,这个新的
  值将继续和后面的值一一比较


基数排序:将数组中的每一个元素值当成是另外一个数组的下标进行操作,当然这种排序方式有很多缺陷


快速排序:
1.函数有两个参数 一个左下标 left 一个右下标right

2.怎么样来实现数据的调整:调整以后 基准值左边的数要比基准值要小 基准值有右边的树要比基准值大
a.我们先假定left左下标的值为基准值,用一个变量保存起来:
b.要明白:在调整过程中,left左边的数都要比基准值要小 left右边的数都要比基准值要大 这样的话才能够实现功能
c.我们先从right这边开始比较:
c1:通过比较,如果发现right中的值要比基准值要大:那么只需要把right指针向前移动一个单位(--),满足right右边的数比基准值大
c2:通过比较,如果发现right中的值比基准值要小,那么这时侯 同时得把它放在left中,left向后移动一个单位(++),满足left的左边要比基准值要小,
你可以把right理解成这是一个坏数(坑),需要其他的数(比基准值大的)来替代它--------------


------>d 我们开始从left这边开始比较
d1:通过比较,如果发现left中的值要比基准值要小:那么只需要把left指针向后移动一个单位(++),满足left左边的数比基准值小
d2:通过比较,如果发现left中的值比基准值要大,那么这时侯 同时得把它放在right中(因为right那里已经有一个坑等你去填),right向后移动一个单位(--),满足right右边要比基准值要大,
现在,你可以把left中的值理解成这是一个坏数(坑),需要其他的数(比基准值小的)来替代它-------------- 返回c步骤

如果在排序过程中 一旦发现left=right那么整个数据排序结束

你在填坑的时候,意味着你也变成了一个坑。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值