插入排序
来源:互联网 发布:百度软件应用中心 编辑:程序博客网 时间:2024/05/17 02:11
类似扑克牌排序
C语言代码:
void InsertSort(int array[],unsigned int n){int i,j;int temp;for(i=1;i<n;i++){temp = array[i];//store the original sorted array in tempfor(j=i ; j>0 && temp < array[j-1] ; j--)//compare the new array with temp{array[j]=array[j-1];//all larger elements are moved one pot to the right} array[j]=temp;}}
算法导论伪代码换成C语言:
void InsertSort(int array[],unsigned int n){int i,j,temp;for(j=1;j<n;j++){temp = array[j];i=j-1;while(i>=0 && array[i]>temp){array[i+1]=array[i];i--;}array[i+1]=temp;}}
循环不变式验证算法正确。对于循环不变式,必须证明它的三个性质:
1.初始化
循环开始第一次是正确的。
2.保持
在循环的某一次迭代开始之前它是正确的,在下一次迭代开始之前它也是正确的。
3.终止
循环结束后,不变式给了我们一个有用的性质,那就是所得的最终序列是有序的,按升序或者降序排列。循环不变式类似数学归纳法。
- 插入排序-【插入排序】
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- profile bashrc bash_profile 之间的区别和联系
- Hibernate映射
- linux xfs文件系统 无法用readdir获取 dirent文件类型d_type
- python urllib2
- ios 关于文件操作 获取 文件大小
- 插入排序
- pc机玩安卓应用,比安卓虚拟机快多了
- 忘记oracle sys、system密码
- ThredLocal使用
- JavaWeb的各种中文乱码解决方法
- 解决Word 2007无法显示图片的问题
- rabbitmq学习1:hello world
- VS2010与.NET4系列 10. VS2010代码智能感知增强
- 用反射更改一个类中所有字符串里面的某个字符为一个其他字符