排序是我们在处理数据时常用的一种手段,排序以后,数据往往会更加容易去后续的操作,比如增加,删除,修改,查询。
常用的排序方式有:冒泡排序,选择排序,交换排序,快速排序,基数排序、
常用的排序方式有:冒泡排序,选择排序,交换排序,快速排序,基数排序、
冒泡排序:每一次比较的时候 相邻两个数进行比较,较大的数据往后移动,那么一轮下来最大的数将在放在最后的位置
选择排序:每一次比较以后找到了最小的数,这时候把它和最前面的值交换
交换排序:每一次比较的时候,最前面的数与后面的值一一进行比较,如果比最前面的值大的话,那么两者将交换值,这个新的
值将继续和后面的值一一比较
基数排序:将数组中的每一个元素值当成是另外一个数组的下标进行操作,当然这种排序方式有很多缺陷
快速排序:
1.函数有两个参数 一个左下标 left 一个右下标right
2.怎么样来实现数据的调整:调整以后 基准值左边的数要比基准值要小 基准值有右边的树要比基准值大
a.我们先假定left左下标的值为基准值,用一个变量保存起来:
b.要明白:在调整过程中,left左边的数都要比基准值要小 left右边的数都要比基准值要大 这样的话才能够实现功能
c.我们先从right这边开始比较:
c1:通过比较,如果发现right中的值要比基准值要大:那么只需要把right指针向前移动一个单位(--),满足right右边的数比基准值大
c2:通过比较,如果发现right中的值比基准值要小,那么这时侯 同时得把它放在left中,left向后移动一个单位(++),满足left的左边要比基准值要小,
你可以把right理解成这是一个坏数(坑),需要其他的数(比基准值大的)来替代它--------------
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那么整个数据排序结束
你在填坑的时候,意味着你也变成了一个坑。