数据结构问题,直接插入排序

数据结构问题,直接插入排序求大神讲解一下这段代码... 数据结构问题,直接插入排序求大神讲解一下这段代码 展开
 我来答
藤原子大雄
2018-01-04 · TA获得超过7197个赞
知道大有可为答主
回答量:6977
采纳率:82%
帮助的人:1776万
展开全部

程序实现对数组序列从大到小的排列,并输出排序后的数列元素,代码如下所示:

程序运行的结果如下图所示:

对实例的分析:

本程序很简单,就是实现了一个直接插入排序的函数。没啥可分析的,不过对于像我这种菜鸟来说,可能记忆各种排序方法是最困难的,在这里我就尝试着给大家讲一讲,也当让自己加深一些印象。

直接插入排序的思想就是把数据元素逐一插入到已经排列好的数列当中,所以在这里会用到一个临时变量(或者说数组当中的一个位置)来存放排序当中的最大值或者最小值,在程序当中用第一个位置,也就是a[0]来存放。而a[0]第一次存放的是第几个元素呢?是第二个,为啥不是第一个呢?(就一个元素你还比较个球啊,吼吼!)。

之后我们就开始比较了,每一趟比较的过程我们都是先把这一趟应该比较的最后一个元素的值赋给临时变量,之后用临时变量与应该比较的最后一个元素的前一个元素开始从后往前比较。在本程序中,如果临时变量比比较的元素大,那么就把比较的元素往后挪,由于排序是从两个元素开始依次增多,这就保证了每次插入一个位置而不会因为位置移动而造成其他元素的大小混乱。

最后把临时变量赋给它应该在的位置上。

总结:

个人认为,直接插入排序是除了冒泡排序之外最好理解的排序方法了,所以大家只要仔细多琢磨琢磨程序的话,写出来是很简单的!

光点科技
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件... 点击进入详情页
本回答由光点科技提供
秒懂百科
2021-01-04 · TA获得超过5.9万个赞
知道大有可为答主
回答量:25.3万
采纳率:88%
帮助的人:1.3亿
展开全部

直接插入排序:一种最简单的排序方法

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式