

一、排序的概念及引用
1.1. 排序的概念
所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。
假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变,即在原序列中,r[i]=r[j],且 r[i] 在 r[j] 之前,而在排序后的序列中,r[i] 仍在 r[j] 之前,则称这种排序算法是稳定的;否则称为不稳定的。

内部排序:数据元素全部放在内存中的排序。
外部排序:数据元素太多不能同时放在内存中,根据排序过程的要求不断的在内外存之间移动数据的排序。
1.2. 排序的应用

1.3. 常见的排序算法

二、常见排序算法的实现
2.1. 直接插入排序
类比一下,在玩扑克牌的时候,从牌堆中拿取一张牌进行排序,就用到了插入排序。插入排序的过程:让 i 从第二个元素为起始位置,j=i-1,当 arr[j]>arr[i],用 tmp 接收 i 下标的值,让 j 下标的元素向前移,然后让 j--,如果 tmp 的值大于 j 下标的值,就把 tmp 的插入 j 的后面;如果 tmp 一直比 j 下标的值小,就让 j 一直--,当 j<0 时,那么 tmp 的值就插入第一个位置。上述过程就能保证 i 下标之前的元素保持是有序的。当 i 走到最后一个元素时,就完成了这个插入排序。

for (int i ; i < array.length; i++) {
array[i];
( i - ; j >= ; j--) {
(array[j] > tmp) {
array[j + ] = array[j];
} {
array[j + ] = tmp;
}
}
}






