C语言之最常使用的插入排序
2014-10-11 16:47
190 查看
基本思想:将序列分为有序序列和无序序列,依次从无序序列中取出元素值插入到有序序列的合适位置。初始时,有序序列中只有第一个数,其余N-1个数组成无序序列,则N个数需要进行N-1次插入。寻找在有序序列中插入位置可以从有序序列的最后一个数往前找,在未找到插入点之前可以同时向后移动元素,为插入元素准备空间。
#include <stdio.h> #define N 5 int main(void) { int a ,t,i,j; for(i=0; i<N; i++) scanf("%d",a+i); for(i=1; i<N; i++) //外循环控制插入次数,N个数需要N-1次 { t=a[i]; //待插入数暂存于变量t中 for(j=i-1; j>=0 && t<a[j]; j--) //在有序序列a[0]到a[i-1]中寻找插入位置 a[j+1]=a[j]; //未找到插入位置,当前元素后移一个位置 a[j+1]=t; //找到位置完成插入 } for(i=0; i<N; i++) printf("%d ",a[i]); printf("\n"); return 0; }
相关文章推荐
- C语言使用链表的插入排序、选择排序、快速排序
- “TC(turbo c)及Visual c++是被广泛使用的c语言” ? !
- C语言使用openSSL库DES模块实现加密功能详解
- (C语言教程)附录二:Turbo C(V2.0)使用指南
- 汇编语言与C语言的混合使用
- C语言头文件的使用
- 使用Python语言设计基于HTML的C语言语法加亮显示程序
- 使用TC调试c语言的时候运行时出现“unable to open input file 'cos.obj'
- 水滴石穿C语言之内存使用(转载)
- C语言之内存使用
- 深入了解C语言(函数的参数传递和函数使用参数的方法)
- 水滴石穿C语言之内存使用
- C语言之正确使用const
- 水滴石穿C语言之正确使用const
- 水滴石穿C语言之正确使用const
- 如何在linux下使用c语言操作临时文件
- C语言, 值得终身使用的编程工具(二)―――― “秘密”
- C语言中正确使用const
- 一些内存使用问题(c语言)
- (C语言)数组与指针的使用