内部排序-插入式排序
来源:互联网 发布:linux脚本while循环 编辑:程序博客网 时间:2024/04/29 06:40
将要排序的元素通过插入的方式找到其适当的位置来进行排序。
直接上code吧
int g_counter1 = 0;int g_counter2 = 0;void insert_sort(int *list, int len){int i, j, k;int temp;for(i = 1; i < len; i++){temp = list[i];for (j = i - 1; j >= 0; j--){if (temp < list[j]) {list[j + 1] = list[j];list[j] = temp;}g_counter1++;}printf("\n i = %d current state :\n", i);for(k = 0; k < len; k++)printf("%d ", list[k]);}}void insert_sort2(int *list, int len){int i, j, k;int temp;for(i = 1; i < len; i++){temp = list[i];j = i - 1;while (j >= 0 && temp < list[j]){list[j + 1] = list[j];j--;g_counter2++;}list[j+1] = temp;printf("\n i = %d current state :\n", i);for(k = 0; k < len; k++)printf("%d ", list[k]);}}
经过评估,发现第二种写法的效率要高一点。
该方法是一种的稳定的排序方法,空间复杂度为O(1),时间复杂度为O(n^2);
0 0
- 内部排序-插入式排序
- 内部排序-插入排序
- 内部排序之一:插入排序
- 内部插入排序---希尔排序
- 内部排序算法:插入排序
- 【内部排序】直接插入排序
- 内部排序之插入排序、希尔排序
- 内部排序之插入排序,希尔排序
- 内部排序之插入排序、希尔排序
- 内部排序-插入排序-希尔排序
- 内部排序(一)------插入排序、交换排序
- 内部插入排序---折半插入排序
- 内部插入排序---直接插入排序
- 内部排序之插入排序(直接插入排序,二分插入排序,希尔插入排序)
- C++代码,数据结构-内部排序-插入排序-直接插入排序
- C++代码,数据结构-内部排序-插入排序-折半插入排序
- C++代码,数据结构-内部排序-插入排序-表插入排序
- 内部排序总结(一)插入排序
- 性能测试业务模型选取标准
- Encoding编码 18
- 《leetCode》:Linked List Cycle
- 我的android之旅
- 设计模式5—单件模式
- 内部排序-插入式排序
- mysql 命令行常用命令
- WordPress使用技巧(1)-禁用 Gravatar 头像
- swift 快速奔跑的兔几 本节的内容是:集合视图
- 整合Kafka到Spark Streaming——代码示例和挑战
- Android解析XML(PULL方式)和JSON 工作原理和实现过程(详细代码)
- 字符串反转及性能测试
- 关于Node里面的pause和pauseSchedulerAndActions
- HUST 1010 The Minimum Length