(1)基本思想:在要排序的一组数中,假设前面(n-1)[n>=2] 个数已经是排 好顺序的,现在要把第n 个数插到前面的有序数中,使得这 n个数
也是排好顺序的。如此反复循环,直到全部排好顺序。
图解
JAVA实现
public class DirectChaRu {
//只要比 一个数大 都要 往后移动一位。 留下此位置后 由此数填充。故名插入
public void sort(int lists[]) {
int temp = 0;
for (int i = 1; i < lists.length; i++) {
temp=lists[i];
int j = i-1;
for (;j>=0&& temp<lists[j]; j--) {
lists[j+1]=lists[j];
}
lists[j+1]=temp; // 此时的lists(j+1)等于for循环中的lists(j),由于for循环中的J--
}
}
}