直接插入排序(C语言实现)

直接插入排序方法:仅有一个记录的表总是有序的,因此,对于有n个记录的表,可以从第二个记录开始直到第n个记录逐个有序的向有序表中进行插入操作,从而得到n个记录按关键字有序的表。下面一起跟着小编学习一下吧!

实现一个直接插入排序的`C语言函数,要求对要排序的元素按照逐渐递增有序。这个函数的具体实现如下:

/* 直接插入排序函数的实现

* array[] : 待排序的数组

* length : 待排序的数组的大小

*/

void ion_sort(int array[], int length)

{

int i, j;

int temp; // 用来存放临时的变量

for(i = 1; i < length; i++)

{

temp = array[i];

for(j = i-1; (j >= 0)&&(array[j] > temp); j--)

{

array[j + 1] = array[j];

}

array[j + 1] = temp;

}

}

编写测试代码如下所示:

/* 程序的入口函数 */

int main()

{

int a[ARRAY_LENGTH];

int i;

int d[3] = {5, 3, 1}; // 定义一个表示增量值的数组

/* 输入10个整形元素 */

printf("Input %d numbers :

", ARRAY_LENGTH);

for(i = 0; i < ARRAY_LENGTH; i++)

{

scanf("%d", &a[i]);

}

printf("****************************************************************

");

/* 把排序前元素都打印出来 */

printf("The elements before sort is :

");

for(i = 0; i< ARRAY_LENGTH; i++)

{

printf("%d ", a[i]);

}

printf("

");

printf("****************************************************************

");

/* 对元素进行有小到大的直接插入排序 */

ion_sort(a, ARRAY_LENGTH);

/* 把排序后元素都打印出来 */

printf("The elements after sort is :

");

for(i = 0; i < ARRAY_LENGTH; i++)

{

printf("%d ", a[i]);

}

printf("

");

return 0;

}

编译并运行结果如下所示:

c语言按字母排序用直接插入法,直接插入排序(C语言实现)相关推荐

  1. Algorithm:C++语言实现之内排序、外排序相关算法(插入排序 、锦标赛排序、归并排序)

    Algorithm:C++语言实现之内排序.外排序相关算法(插入排序 .锦标赛排序.归并排序) 目录 一.内排序 1.插入排序 2.锦标赛排序 3.归并排序 二.外排序 1.过程 一.内排序 1.插入 ...

  2. c语言冒泡排序字母排序,排序与查找之冒泡排序篇(C语言实现)

    在进行冒泡排序C语言实现之前,先介绍冒泡排序,只有真正理解了冒泡排序的算法,才能从本质上理解C语言的实现过程 冒泡排序原理: 冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法 ...

  3. c语言 冒泡排序算法,排序算法_冒泡排序改进(c语言实现)

    下面是未经改进的冒泡排序算法: #include #include int a[10] = {1,4,3,5,23,2,45,6,3,5}; main() { int i,j,mid; int len ...

  4. c语言中英文字母要怎么定义,【资料】c语言中常用英语

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 运算符与表达式: 5. `parameter 参数 2 条件语句 1.constant 常量 6.static 静态的 condition 2. vari ...

  5. c语言中字母大写转小写,C语言中字母大小写转换的简单操作

    大写字母要转换小写字母,要怎么操作呢?而在C语言开发中,我们经常会遇到这样或者那样的问题,别着急,爱站技术频道为你细细道来C语言中字母大小写转换的简单操作. C语言tolower()函数:将大写字母转 ...

  6. c语言通讯录按字母排序,c语言程序设计通讯录.docx

    长江大学工程技术学院C语言课程设计实习报告 通讯录管理系统 学生姓名:吴正杰学 号:201461031 序 号:19 专业班级:计科61031 指导老师:刘旨阳 报告日期:2015\7\6 需求分析 ...

  7. 根据首字母排序英文名c语言,英文名按首字母排序的问题

    2015-01-25 回答 nba截止2014-15赛季存在的球队英文名字按照首字母排序如下: atlanta hawks atl(亚特兰大老鹰) boston celtics cel(波士顿凯尔特人 ...

  8. c语言排序算法 应用与实现,基于C语言排序算法改进与应用.doc

    基于C语言排序算法改进与应用 基于C语言排序算法改进与应用 摘 要:介绍了程序语言中排序的原理及应用,阐述了基于C语言的三种主要排序方法,提出了每种排序方法的改进,计算出改进后算法的时间复杂度,编写了 ...

  9. Java 按照拼音首字母排序

    默认的 Collection.sort() 是按照 ASCII 码排序, 不过, 有第二个重载方法, 第二个参数可以传入 Comparator 对象 java.text.Collator 可以用于本地 ...

最新文章

  1. 为什么单片机程序中会有延时程序加入
  2. python猜数字游戏简单-python猜数字游戏快速求解解决方案
  3. ADO.NET 快速入门(一):ADO.NET 概述
  4. 17.splash_case02
  5. 怎么查询mysql的语法_mysql查询语法
  6. vue 中的nextTick
  7. 20151227感知机(perceptron)
  8. VTP冲突的排查与解决
  9. SAP License:关于集团管控模式的几点思考
  10. HTML容器标签和文本标签
  11. php如何只删去汉字,php如何删除字符串中的中文
  12. Java Code Review 介绍
  13. Java | 绘图:Graphics2D
  14. 计算机会计学试题,会计电算化考试试题 (2010)
  15. 结对编程——自动生成数学试卷的系统(javaswing,mysql)by 陈松刘宇航
  16. 使用validate注解做校验以及自定义validate注解
  17. 抖音上坤之大强之作是什么意思
  18. 虚拟机一直光标闪,进不去,解决方法之一。
  19. iOS 使用TestFlight进行App外部测试
  20. 计算机网络硬件ppt,4计算机网络硬件基础全解.ppt

热门文章

  1. 微信公众号开发笔记(四)搭建本地测试环境
  2. OpenGL ES EGL eglDestroySurface
  3. 母婴网站Zulily盈余隐秘竟然是推延发货?
  4. Prometheus自带指标整理
  5. Pyqt5的tableWidget的单元格控件居中
  6. 每天5分钟机器学习算法:支持向量机的目标函数是怎么来的?
  7. golang 获取一天前,一个月前,一年前的日期
  8. IDEA——Java:程序包xxxx不存在终极方案总结
  9. CAS虚拟化平台Linux虚拟机安装vGPU显卡驱动并获取许可
  10. 【力扣周赛】第346场周赛