排序简单来说就是将一些记录按照其关键字根据排序规则进行一次排序,使排序后的记录呈现有序特性。
排序有若干个概念得了解
- 稳定性。如果两个相等的记录,其相对位置排序前后不发生改变,则称该排序算法是稳定排序,否则就称之为不稳定排序。
- 内排序和外排序。内排序指的是在排序过程中将所有待排序的记录全部加载进内存中完成排序,而外排序指的是待排序的记录由于个数太多,无法全部加载进内存,所以需要通过多次的内存外存数据交换才能完成排序。
- 排序算法的性能主要受两个因素影响,分别是时间性能和空间性能,时间性能取决于比较次数和移动次数,空间性能也就是该排序算法所需的辅助存储空间。
- 排序算法总体来说有7个,其中简单排序算法有三个,分别是冒泡排序、选择排序和插入排序,而复杂排序算法有四个,分别是希尔排序、堆排序、归并排序和快速排序。
这里首先介绍第一种简单排序算法——
冒泡排序