直接插入排序
来源:互联网 发布:淘宝怎么交30元保证金 编辑:程序博客网 时间:2024/06/08 10:09
直接插入排序:
代码:
#include<stdio.h>int insert(int a[],int num) { intj; for(inti=2; i<=10; i++) { a[0]=a[i]; j=i-1; while(a[0]<a[j]){ a[j+1]=a[j]; j--; } a[j+1]=a[0]; }}int main() { inta[11]; for(inti=1; i<=10; i++) scanf("%d",&a[i]); insert(a,10); for(inti=1; i<=10; i++) printf("%d",a[i]); return0;}
注释:
#include <stdio.h> void insort(int s[], int n) { /*自定义函数isort*/ inti, j; for(i = 2; i <= n; i++) { /*数组下标从2开始,0做监视哨,1一个数据无可比性*/ s[0]= s[i]; /*给监视哨赋值*/ j= i - 1; /*确定要进行比较的元素的最右边位置*/ while(s[0] < s[j]) { s[j+ 1] = s[j]; /*数据右移*/ j--; /*移向左边一个未比较的数*/ } s[j+ 1] = s[0]; /*在确定的位置插入s[i]*/ }} void main() { inta[11], i; /*定义数组及变量为基本整型*/ printf("请输入10个数据:\n"); for(i = 1; i <= 10; i++) scanf("%d",&a[i]); /*接收从键盘中输入的10个数据到数组a中*/ printf("原始顺序:\n"); for(i = 1; i < 11; i++) printf("%5d",a[i]); /*将未排序前的顺序输出*/ insort(a,10); /*调用自定义函数isort()*/ printf("\n插入数据排序后顺序:\n"); for(i = 1; i < 11; i++) printf("%5d",a[i]); /*将排序后的数组输出*/ printf("\n");}
版权说明
著作权归作者所有©。 商业转载请联系作者获得授权,非商业转载请注明出处。 本文作者:Joe.Smith发表日期:2016年10月7日 本文链接:http://blog.csdn.net/qq_26816591/article/details/52782255来源:CSDN 更多内容:关于visual studio 2010 直接复制粘贴会出现乱码的解决方法
0 0
- 插入排序--直接插入
- 插入排序------直接插入
- 插入排序---直接插入
- 排序:直接插入排序
- 排序---直接插入排序
- 排序 -- 直接插入排序
- 排序---直接插入排序
- 排序--直接插入排序
- 排序-直接插入排序
- 【排序】直接插入排序
- 排序--直接插入排序
- 排序:直接插入排序
- 【排序】直接插入排序
- 排序--直接插入排序
- 排序--直接插入排序
- 排序-直接插入排序
- 插入排序--直接插入排序
- 插入排序-直接插入排序
- 浅析 mtd 子系统
- hibernate缓存学习之【一级缓存】
- 单例模式详解
- 【数据结构】算法10.1 插入排序-直接插入
- Scala lazy
- 直接插入排序
- 线性表的顺序存储结构
- Java和Android反射使用记录
- cin、cin.get()、getline()(讲解的很详细)黄刚的博客
- Netty4详解三(Netty架构设计)
- C Primer Plus学习 二十八 string.h strlen ()函数
- 【JZOJ 4817】【NOIP2016提高组 五校联考4】square
- UVa 11354 Bond (MST 树链剖分 LCA/RMQ)
- 面向对象