插入排序
2014-06-26 01:26
148 查看
/** * @brief - sort an array by insert sort * @param[in, out] array - pointer of the array [not null] * @param[in] size - size of the array [>0] * @retval 0 - succeed * @retval -1 - fail */ int insert_sort(int *array, int size) { if ((NULL == array) || (size < 1)) { return -1; } if (1 == size) { return 0; } int i = 0; int j = 0; int tmp = 0; // 依次把第二个元素~最后一个元素插入 for (i = 1; i < size; ++i) { tmp = array[i]; j = i; // 寻找插入位置 while ((j >= 1) && (array[j - 1] > tmp)) { array[j] = array[j - 1]; --j; } array[j] = tmp; } return 0; }
相关文章推荐
- 插入排序_Java
- 插入排序
- 排序算法--插入排序
- 排序算法总结(一)——冒泡、插入、希尔与选择排序
- C++代码,数据结构-内部排序-插入排序-2-路插入排序
- 选择排序后插入新元素
- 单链表的创建,删除,插入,显示,排序
- 直接插入排序
- 选择、冒泡、插入-排序
- c++ 数组排序(选择, 冒泡, 插入,快速)
- 已有一个已经排好序的数组,输入一个数,要求按照原来排序的规律将它插入数组中
- 插入排序之直接插入排序(Java实现)
- 直接插入排序
- 直接插入排序基本思想
- 第十五周项目1-验证算法(2-直接插入排序)
- 8种经典排序之直接插入排序
- 7.2.3 插入排序之希尔排序
- 基本排序(冒泡,选择,插入,希尔)
- 插入排序(insertion sort)算法实现
- 第16周项目1-验证算法(1)直接插入排序