发布网友 发布时间:2022-04-23 02:06
共2个回答
热心网友 时间:2023-08-18 13:04
程序实现对数组序列从大到小的排列,并输出排序后的数列元素,代码如下所示:
程序运行的结果如下图所示:
对实例的分析:
本程序很简单,就是实现了一个直接插入排序的函数。没啥可分析的,不过对于像我这种菜鸟来说,可能记忆各种排序方法是最困难的,在这里我就尝试着给大家讲一讲,也当让自己加深一些印象。
直接插入排序的思想就是把数据元素逐一插入到已经排列好的数列当中,所以在这里会用到一个临时变量(或者说数组当中的一个位置)来存放排序当中的最大值或者最小值,在程序当中用第一个位置,也就是a[0]来存放。而a[0]第一次存放的是第几个元素呢?是第二个,为啥不是第一个呢?(就一个元素你还比较个球啊,吼吼!)。
之后我们就开始比较了,每一趟比较的过程我们都是先把这一趟应该比较的最后一个元素的值赋给临时变量,之后用临时变量与应该比较的最后一个元素的前一个元素开始从后往前比较。在本程序中,如果临时变量比比较的元素大,那么就把比较的元素往后挪,由于排序是从两个元素开始依次增多,这就保证了每次插入一个位置而不会因为位置移动而造成其他元素的大小混乱。
最后把临时变量赋给它应该在的位置上。
总结:
个人认为,直接插入排序是除了冒泡排序之外最好理解的排序方法了,所以大家只要仔细多琢磨琢磨程序的话,写出来是很简单的!
热心网友 时间:2023-08-18 13:05
直接插入排序:一种最简单的排序方法