排序算法总结(三)插入排序
来源:互联网 发布:php求数组最大值 编辑:程序博客网 时间:2024/04/30 00:35
插入排序的原理是从数组的某个位置开始依次和前面的位置数相比,找到插入位置,将数插入到该位置,这样多次插入后,得到的将是一个有序数组。
参考代码:
#include <iostream>using namespace std;void InsertSort(int *arrays,int len);int main(void){int i;int arrays[]={9,8,7,6,5,4,3,2,1};InsertSort(arrays,9);for (i=0;i<9;i++){cout << arrays[i] <<" ";}cout <<endl;return 0;}void InsertSort(int *arrays,int len){int i,j,k;int tmp;for (i=1;i<len;i++){j=i-1;while (arrays[i]<arrays[j] && j>=0){j--;}tmp=arrays[i];for (k=i;k>j+1;k--){arrays[k]=arrays[k-1];}arrays[j+1]=tmp;}}
插入排序是稳定的排序,需要一个辅助空间,最好的情况下数组是有序的只要扫描一次时间复杂度为O(n), 最坏的情况下数组是待排序的逆序,时间复杂度为O(n2)
- 排序算法总结(三)插入排序
- 排序算法(三)之插入排序
- 排序算法(三)直接插入排序
- 排序算法(三)直接插入排序
- 排序算法(三)- 直接插入排序
- 排序算法(三)插入排序
- 排序算法三:插入排序
- 排序算法(三)-插入排序
- 【基础算法】排序-简单排序之三(插入排序)
- 排序算法_C++(三)插入排序之希尔排序
- 排序算法(三):插入排序法和希尔排序
- 排序算法总结(三)
- 排序算法总结(三)
- 排序算法总结(三)
- 排序算法总结(三)
- 排序算法总结(三)
- 经典算法(三):插入排序
- 排序(三):插入排序
- 深入理解计算机系统 作业1 2.61 2.65 2.73 2.76解答
- linux环境下安装eclipse,缺少jre文件解决办法
- Maven 使用
- UVa10502 - Counting Rectangles
- 迷茫的一天
- 排序算法总结(三)插入排序
- 关于获取上传图片的长和宽
- 被高中生狂虐跟看完IT牛人榜后的随感
- toj1528 Least Common Multiple
- MySQL对于有大量重复数据表的处理方法
- SET ANSI_NULLS ON
- Maven 使用
- 谈谈找工作过程中的那些环节、注意点和经验
- MySql,SqlServer,Oracle链接数据库工具类