标签:思路 有序 code 位置 查找 int 处理 有序表 存储
插入排序
直接插入排序
基本思路:将一个记录插入到已排序好的有序表中,从而得到一个新的有序表。即:先将序列的第1个记录看成是一个有序的子序列,然后从第2个记录逐个进行插入,直至整个序列有序为止。
void InsertSort(int a[]) { for(int i = 1; i < a.length; i++){ if(a[i] < a[i-1]){ //若小于则移动表后插入,大于则不做处理,即等于直接插入。 int j = i-1; int x = a[i]; //存储待排序元素 a[i] = a[i-1]; //后移一个元素 while(j>=0 && x < a[j]){ //查找在有序表的插入位置 a[j+1] = a[j]; j--; //元素后移 } a[j+1] = x; //插入到正确位置 } } }
标签:思路 有序 code 位置 查找 int 处理 有序表 存储
原文地址:http://www.cnblogs.com/tengyunhao/p/6503167.html