插入排序
2015-09-03 21:38
375 查看
最好的情况是原来的序列已经是升序需要比较n-1次时间复杂度是O(n),最坏的情况是原来的序列是降序,需要比较n(n-1)/2次,时间复杂度是O(n2).只需要一个辅助空间,空间复杂度为O(1) #include <stdio.h> void InsertSort(int arr[], int n) { for (int i = 1; i < n; ++i) { int tmp = arr[i]; int j; for (j = i; j > 0 && arr[j - 1] > tmp; --j) { arr[j] = arr[j - 1]; } arr[j] = tmp; } } int main(int argc, char const *argv[]) { int arr[10] = { 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 }; int len = sizeof(arr) / sizeof(int); for (int i = 0; i < len; ++i) { printf("%d ", arr[i]); } printf("\n"); InsertSort(arr, len); for (int i = 0; i < len; ++i) { printf("%d ", arr[i]); } printf("\n"); return 0; }
相关文章推荐
- uva 11019 Matrix Matcher (ac自动机二维匹配)
- 继承简单案例
- hdu 3746 Cyclic Nacklace(KMP)
- 在ubuntu上安装nodebb
- Objective-C 【Category-非正式协议-延展】
- Objective-C 【Category-非正式协议-延展】
- Android四大组件之Activity
- String常见题分析
- 冒泡排序2.0
- javascript组件化
- HDU 3650 Hot Expo(气球染色 , 贪心 )
- [Oracle] Transporting Tablespace
- 【转】Python3.x移除了callable内建函数
- zoj3777(状态压缩)
- HDU 3650 Hot Expo(气球染色 , 贪心 )
- hdu 1067 Gap+BFS+hash
- 二叉树的创建(前序中序创建二叉树、中序后序创建二叉树)
- 利用深度优先搜索算法寻找割点
- ESXi5.5如何命令行升级到ESXi6.0
- postgresql配置的一些问题