直接插入排序(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. android中menu菜单扩增_【已解决】Android添加Menu菜单
  2. mysql 查询rowno_C# Mysql 查询 Rownum的解决方法
  3. Linux终端关闭屏幕显示,使用命令行关闭监视器
  4. 亡羊补课2019-12-19
  5. python 字符串处理 字典_python 字符串和字典
  6. 宏锦软件2015年的计划
  7. python3入门经典100例-ZH奶酪:编程语言入门经典100例【Python版】
  8. 基于Java毕业设计智能旅游电子票务系统演示录像2020源码+系统+mysql+lw文档+部署软件
  9. php datedif,Excel Datedif函数全面解析及BUG分析
  10. 什么是SMART原则?SMART原则是什么意思?
  11. UVALive 6657
  12. 六安职院美和易思互联网+特色专业举行第一届HTML网页设计大赛
  13. Windows 去除我的电脑页面多余的设备和驱动器图标
  14. 井冈山大学专属中秋月饼
  15. 让lynda网站显示中文字幕
  16. WMS 系统和 ERP 系统的区别是什么?
  17. er图 navicat_Navicat 怎么生成ER图表
  18. 音频提取以及人声处理
  19. 上海交通大学计算机考研信息汇总
  20. 算法竞赛进阶指南 0x53 区间DP

热门文章

  1. C语言:用and、or、not表示逻辑运算符
  2. 物理服务器、VPS、虚拟主机、云服务器分别有什么作用
  3. 使用Harr特征的级联分类器实现目标检测
  4. voa 1500单词
  5. 数据结构练手小项目(AVL树、哈希表、循环链表、MySQL数据库)
  6. 从零开始的Java笔记01
  7. stata17mp64核/win/Mac
  8. Leaflet中如何限制地图的拖动范围
  9. TAQ服务器npc多久自动交物资,魔兽怀旧服: 安其拉开门NPC自动交物资竟是忽悠玩家? GM聊天曝出...
  10. 向用户发送短信验证码