在我们的程序中,排序是非常常见的一种需求,提供一些数据元素,把这些数据元素按照一定的规则进行排序。比如查询一些订单,按照订单的日期进行排序;再比如查询一些商品,按照商品的价格进行排序等等。所以,接下来 我们要学习一些常见的排序算法。
在java的开发工具包jdk中,已经给我们提供了很多数据结构与算法的实现,比如List,Set,Map,Math等等,都是以API的方式提供,这种方式的好处在于一次编写,多处使用。我们借鉴jdk的方式,也把算法封装到某个类中,那如果是这样,在我们写java代码之前,就需要先进行API的设计,设计好之后,再对这些API进行实现。
就比如我们先设计一套API如下:
| 类名 | ArrayList |
| 构造方法 | ArrayList():创建ArrayList对象 |
| 成员方法 | boolean add(E e):向集合中添加元素 E remove(int index):从集合中删除指定的元素 |
然后再使用java代码去实现它。以后我们讲任何数据结构与算法都是以这种方式讲解。
1.1Comparable接口介绍 1.2冒泡排序 1.3选择排序 1.4插入排序 2.高级排序 2.1希尔排序 2.2归并排序 2.2.1递归 2.2.2归并排序 3.快速排序 4.排序的稳定性


