1、 算法实现
插入排序的时间复杂度为O(n^2),其排序过程就如同打牌时抓牌的过程。其实现算法如下:
int insert_sort(int *array, int num)
{
int i=0, j=0;
for(j=2; j<num-1; j++)
{
i = j-1;
array[0] = array[j]; /* array[0]为哨兵 */
while(array[i] < array[0])
{
array[i+1] = array[i];
i--;
}
array[i+1] = array[0];
}
return 0;
}
2、 算法调用
#define ARRAY_NUM (10)
int main(int argc, void *argc)
{
int idx = 0;
int array[ARRAY_NUM] = {0, 9, 8, 7, 6, 5, 4, 3, 2, 1};
insert_sort(array, ARRAY_NUM);
for(idx=1; idx<ARRAY_NUM; idx++)
{
fprintf(stdout, "array[%d] = %d\n", idx, array[idx]);
}
return 0;
}
分享到:
相关推荐
C语言算法之归并排序C语言算法之归并排序C语言算法之归并排序C语言算法之归并排序
冒泡排序算法选择排序算法插入排序c语言实现
算法导论 源代码 C语言实现
用C语言实现插入排序的代码,应该会有帮助。
经典的插入排序算法,C语言实现,数据结构必备
算法导论C语言版本。下载后绝对不会后悔。嗯。谢谢
《算法导论》第二章,合并排序与插入排序,C语言源码。
利用C语言实现的插入排序算法,在gcc下编译成功,在windows下完全可以的
【排序算法】插入排序(C语言)
插入排序 C语言 Insert sort
算法导论 C语言各类算法
算法导论之堆排序,C语言实现版
使用C语言写的直接插入排序算法,简单易懂,希望对大家学习有帮助
用c语言写得插入排序和折半插入排序,很简单的。 *****多多支持
数据结构中的折半插入排序算法用C语言来实现的完整示例程序
冒泡排序 简单选择排序 c语言基础 排序算法 数组操作 排序算法实验 简单的c语言程序 排序算法输出
数据结构(c语言版)严蔚敏 吴伟民编著 中直接插入排序、折半排序、shell排序、冒泡排序、快速排序、选择排序、堆排序的实现、归并排序,使用c语言实现
算法导论上的堆排序c++源程序||学习分享
算法导论版的快速排序的完整实现。C语言版。免积分送给需要的朋友。
中科大软件学院 算法导论课程实验 正式题目一 常见排序算法的实现与性能比较 实验报告 包括合并排序、插入排序、希尔排序、快速排序、冒泡排序、桶排序