目录
1.排序的概念
排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减地排列起来的操作。
平时的上下文中,如果遇到排序,通常指的是排升序(非降序)。
通常意义上的排序,都是指原地排序(in place sort)。
2.排序的稳定性
待排序序列中若存在值相等的元素,经排序之后,排序算法能保证相等元素之间相对位置不变(相等元素之间原有的先后顺序保持不变),称该算法是具备稳定性的排序算法。
现实意义:
商城系统要求按照订单金额排序。
订单默认都是按照下单时间来进行创建的,此时稳定的排序算法就非常重要。相同金额的订单仍然是按照时间先后来排序的。
3.排序的应用
各大商城的价格从低到高,中国大学排名......
4.排序算法的分类
4.1.内部排序(七大排序)
将数据都在内存中操作。基于比较的排序,直接把2个元素进行大小比较。
4.1.1.插入排序
①插入排序
②希尔排序
4.1.2.选择排序
③选择排序
④堆排序
4.1.3.交换排序
⑤冒泡排序
⑥快速排序
4.1.4.归并排序
⑦归并排序
4.2.外部排序
需要借助硬盘等辅助存储介质进行的排序操作。大数据排序,数据大到内存放不下。
4.2.1.桶排序(基于归并排序,多路归并)
4.2.2.计数排序
4.2.3.基数排序
所有的排序算法,一定要注意变量和区间的严格定义。
排序是一个工具,都用static静态方法。