排序-插入排序-直接插入排序-数据结构(26)

来源:互联网 发布:家庭记账本软件 编辑:程序博客网 时间:2024/05/21 09:14

一、直接插入排序

插入排序的思想是这样的:对于一个有序序列中,查找新元素在有序序列中的位置,然后从后往前插入到查找的位置,而直接插入排序的原理便是顺序查找。

二、算法实现

int sqTable[] = { 0,49,38,65,97,76,13,27,49};//其中[0]位置储存的是哨岗int length = (sizeof(sqTable) / sizeof(int))-1;//不要第一个位置void PrintTable(){for (int i = 1; i <= length; i++){printf("%d:", sqTable[i]);}printf("\n");}//直接插入排序=========================void InsertSort(){//对sqTable进行排序for (int i = 2; i <= length; i++){if (sqTable[i] < sqTable[i-1]){//当前的数比前一个小才进行排序//哨岗位置赋值sqTable[0] = sqTable[i];//sqTable[i] = sqTable[i - 1];//寻找该插入的位置 从后往前比较 元素向后移动int j = i - 1;for (; sqTable[0] <sqTable[j]; j--){sqTable[j + 1] = sqTable[j];}sqTable[j+1] = sqTable[0];}PrintTable();}}


三、执行

InsertSort();



原创粉丝点击