排序的概念
- 排序:使一串记录,按照其中某个或某些关键字的大小,递增或递减的排列起来的操作
- 稳定性:假定在待排序的记录序列中,存在多个具有相同关键字的记录,若经过排序,这些记录的相对次序保持不变,即在原序列中,arr[ i ]=arr[ j ,且]arr[ i ]在arr[ j ]之前,而在排序后的序列中,arr[ i ]仍然在arr[ j ]之前,则称这种排序算法是稳定的,反之则不稳定。
- 内部排序:数据元素全部放在内存中的排序
- 外部排序:数据元素太多,不能同时存放在内存中,根据排序过程的要求不能在内外存之间移动数据的排序。
常见的排序有:
- 插入排序:直接插入排序,希尔排序
- 选择排序:选择排序,堆排序
- 交换排序:冒泡排序,快速排序
- 归并排序:归并排序
- 非比较排序:计数排序