排序

2017-12-28  本文已影响2人  早上起好早

插入排序

直接插入排序

折半插入排序

希尔排序(不稳定的排序):取d每个数隔d个比较排序,比如:1.45.6.67.78.9.90,这里取d=3(d最好取奇数或者是质数,取d有很多不同方法)

这时:1和67,45和78,6和9,比较进行排序(这里升序)

然后减小d,要是d很大,可以d=d/2,这里d比较小,则d=d-1就好

继续排序,直到排出来为止。

交换排序

冒泡排序:往前冒和往后冒

快速排序(快排):基准指针i和选择指针j(自己起的名字,不知道对不对)。先用i指针选择一个基准值,在用j指针选择一个比较值,i的选取是有技巧的(选的好排序就快,但是现阶段题目里一般不涉及),一个基准值的快排完成后,在对在基准值前面的数据进行快速排序,对基准值后面的数据进行快速排序。知道所有数据都排序完成。

选择排序

直接选择排序

树形选择排序:完全二叉树

堆排序:(最难,是考点)这个需要图形辅助理解。

one more thing

需要着重看的是:希尔排序,快排,堆排序,这里代码要看一下的,不然代码题没法做。。到头发现cpp学的不好。。

上一篇 下一篇

猜你喜欢

热点阅读