C语言 数组排序 – 插入法排序 - C语言零基础入门教程
目录
- 一.简介
- 二.数组插入法排序原理
- 三.数组插入法排序实战
- 四.猜你喜欢
零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门
一.简介
经过前面的学习,我们已经学会了数组遍历,在开发中,我们经常回碰到对数组进行排序,例如:学习成绩排序,身高排序,年龄排序等等;在 C
语言中常见的数组排序一共有四种:
- 1.冒泡法排序
- 2.选择法排序
- 3.插入法排序
- 4.快速法排序
二.数组插入法排序原理
将要排序的数组分成两部分,每次从后面的部分取出索引最小的元素插入到前一部分的适当位置
三.数组插入法排序实战
/******************************************************************************************/
//@Author:猿说编程
//@Blog(个人博客地址): www.codersrc.com
//@File:C语言教程 - C语言 数组排序 – 插入法排序
//@Time:2021/06/08 08:00
//@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
/******************************************************************************************/#include<stdlib.h>
#include<stdio.h>void main()
{int a[5] = { 12, 19, 2 , 993, -34 };int len = sizeof(a) / sizeof(int);for (int i = 0; i < len; i++){printf("排序之前:index:%d value:%d\n", i, a[i]);}//插入法排序for (int i = 1; i < len; i++) {int temp = a[i];int j = i - 1;while (temp < a[j]) {a[j + 1] = a[j];j--;if (j == -1) {break;}}a[j + 1] = temp;}printf("-----------------------------------\n");for (int i = 0;i<len;i++){printf("排序之后:index:%d value:%d\n", i, a[i]);}system("pause");
}/*
输出:排序之前:index:0 value:12
排序之前:index:1 value:19
排序之前:index:2 value:2
排序之前:index:3 value:993
排序之前:index:4 value:-34
-----------------------------------
排序之后:index:0 value:-34
排序之后:index:1 value:2
排序之后:index:2 value:12
排序之后:index:3 value:19
排序之后:index:4 value:993
请按任意键继续. . .
*/
四.猜你喜欢
- 安装 Visual Studio
- 安装 Visual Studio 插件 Visual Assist
- Visual Studio 2008 卸载
- Visual Studio 2003/2015 卸载
- C 语言格式控制符/占位符
- C 语言逻辑运算符
- C 语言三目运算符
- C 语言逗号表达式
- C 语言 for 循环
- C 语言 while 循环
- C 语言 do while 和 while 循环
- C 语言 switch 语句
- C 语言 goto 语句
- C 语言 char 字符串
- C 语言 sizeof 和 strlen 函数区别
- C 语言 strcpy 和 strcpy_s 函数区别
- C 语言 memcpy 和 memcpy_s 区别
- C 语言 数组定义和使用
- C 语言 数组遍历
- C 语言 数组排序 – 冒泡法排序
- C 语言 数组排序 – 选择法排序
- C 语言 数组排序 – 插入法排序
未经允许不得转载:猿说编程 » C 语言 数组排序 – 插入法排序
C语言 数组排序 – 插入法排序 - C语言零基础入门教程相关推荐
- C语言 数组排序 – 快速法排序 - C语言零基础入门教程
目录 一.简介 二.数组快速法排序原理 三.数组快速法排序实战 四.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门 一.简介 经过前面的学习, ...
- C语言 *p++/*(p)++/*(p++)/*p++ - C语言零基础入门教程
目录 一.简介 二.*p++ 三.*++ p/++ *p 四.* (p++)与*(++p) 五.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门 ...
- C语言 指针 p++ / p-- - C语言零基础入门教程
目录 一.变量 i++/i– 二.指针 p++/p– 1.通过下标访问数组元素 2.通过指针偏移访问数组元素 三.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> ...
- C语言 指针声明和定义 - C语言零基础入门教程
目录 一.指针简介 1.内存 2.内存地址 3.指针声明 二.指针类型 三.声明并初始化一个指针 1.声明指针并直接初始化 – 推荐 2.先声明指针在初始化 – 不推荐 四.查看指针地址和指针的值 五 ...
- C语言 二维数组遍历 - C语言零基础入门教程
目录 一.计算一维数组长度 二.计算二维数组长度 1.二维数组行数 2.二维数组列数 3.二维数组的元素个数 = 二维数组行数 * 二维数组列数 三.猜你喜欢 零基础 C/C++ 学习路线推荐 : C ...
- C语言 二维数组行数和列数计算 - C语言零基础入门教程
目录 一.计算一维数组长度 二.计算二维数组长度 1.二维数组行数 2.二维数组列数 3.二维数组的元素个数 = 二维数组行数 * 二维数组列数 三.猜你喜欢 零基础 C/C++ 学习路线推荐 : C ...
- C语言 二维数组定义和使用 - C语言零基础入门教程
目录 一.二维数组简介 二.定义二维数组并初始化 1.定义二维数组 2.初始化二维数组 三.访问二维数组 四.修改二维数组 五.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 & ...
- C语言 十进制和二进制相互转换 - C语言零基础入门教程
目录 一.十进制和二进制区别 1.基数不同 2.有效字符不同 3.用途不同 二.十进制转二进制 三.二进制转十进制 四.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >& ...
- C语言 十进制和八进制相互转换 - C语言零基础入门教程
目录 一.十进制和八进制区别 1.基数不同 2.有效字符不同 3.用途不同 二.十进制转八进制 三.八进制转十进制 四.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >& ...
最新文章
- AJAX技术入门 第五节 Javascript高级知识
- SpringMVC启动后自动执行
- 内联汇编 - 从头开始
- leetcode 483. 最小好进制
- Html5与CSS3权威指南 百度云下载
- SVN A C D M G U R I的含义
- 导出已安装的插件_明明flash插件已安装,但是网页依然不能正常显示的解决办法...
- C#开发移动应用 - 环境搭建
- java 上传附件_java 上传附件实现方法
- matlab里的subs,急询:Matlab中 subs(S)的应用疑问?
- Android Things在 #io17
- Address localhost:8080 is already in use
- HTML 学习总结2 框架 表单
- csp刷题总结(如此编码python版本)
- 2020CSP初赛试题答案解析
- 对ArrayList集合里面数据排序
- unicode,UTF-8,UTF-16,UTF-32是什么,各有什么关系
- 【连载】【FPGA黑金开发板】Verilog HDL那些事儿--PS2解码(九)
- 医疗:疫情下的人类高质量数据共享场景 | 2021隐私计算半年纪
- 全球及中国有机食品市场供需规模与未来竞争态势研究报告2022版
热门文章
- 技术干货 | 源码解析 Github 上 14.1k Star 的 RocketMQ
- 云原生数据湖解决方案打破数据孤岛,大数据驱动互娱行业发展
- 万级规模 K8s 如何管理?蚂蚁双11核心技术公开
- 在闲鱼,我们如何用Dart做高效后端开发?
- 认识阿里云的产品逻辑:基础设施必须必业务跑得快
- AI 如何推动双碳目标达成?施耐德电气这么说
- 到底要不要报考“通信工程”?
- “今朝安全众测平台”正式启动运行
- 想学 Python?那这套教程再适合你不过了!!
- 继续增援武汉,紫光及新华三集团对火神山和雷神山医院捐赠设备!