第一部分列表(目录主要来自于维基百科)
模块一:经典排序实现
交换排序法
冒泡排序 |鸡尾酒排序 |奇偶排序 |梳排序 |地精排序(gnome_sort) |Bogo排序|快速排序
选择排序法
选择排序 | 堆排序
插入排序法
插入排序 | 希尔排序 | 二叉查找树排序 | Library sort | Patience sorting
归并排序法
归并排序 | Strand sort
非比较排序法
基数排序 | 桶排序 | 计数排序 | 鸽巢排序 | Burstsort | Bead sort
其他
拓扑排序 | 排序网络 | Bitonic sorter | Batcher odd-even mergesort | Pancake sorting
低效排序法
Bogosort | Stooge sort
模块二:经典查找
模块三:数据结构(后续补充完整,树和图是大头,包含很多分类和经典算法)
线性表 队列 栈 堆 树 图
排序>>交换排序>>鸡尾酒排序
伪代码:
鸡尾酒排序是冒泡排序的变种——双向冒泡排序
从伪代码可以看到,每一轮循环,从前到后一次正向冒泡,之后从后往前再进行一次逆向冒泡(每一轮存在两个数被排序)
可以看到的表现是两边先排序好,逐渐向中间有序
示例:
详细比较过程:
第一轮 正向
第一轮 逆向
本数组共比较18次,而使用带标志冒泡排序需要21次
start
实现代码
改换成while