Perl算法实例---插入排序

Posted EasyPerl

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Perl算法实例---插入排序相关的知识,希望对你有一定的参考价值。

在日常操作计算中, 我们经常需要将数组进行排列, 根据数据的不同以及需求的不同, 我们有很多种不同的排序方法。 

今天我们介绍插入排序, 对于少量数据的排序, 他是一种比较有效的可以接受的算法。

插入排序就是我们依次处理数组中的数据, 每个数据依次和他前方的数来进行比较, 知道找到合适该数的位置, 则将其插入进去。 过程就像我们整理扑克手牌一样。

插入排序很容易理解, 也很容易实现。其时间复杂度为O(n^2), 在数据量不大的情况下, 是可以接受的。

以下是用perl来实现插入排序的实例:

我们从第二个元素开始, 每次和其前方的一个元素进行比较, 如小于, 则互换位置, 继续和前方比较, 直至比前面元素大, 此时即可插入该元素

my @nums = (4,2,9,7,8,1,3);for my $i (1..@nums - 1){ my $num = $nums[$i];  my $index = $i - 1; while ($index >= 0 and $nums[$index] > $num){ $nums[$index + 1] = $nums[$index]; $index--; }  $nums[$index + 1] = $num;}


以上是关于Perl算法实例---插入排序的主要内容,如果未能解决你的问题,请参考以下文章

7种基本排序算法的Java实现

排序算法——插入排序

php几种排序算法实例详解

C语言直接插入排序算法

常用的八大排序算法,含java实例(copy)

插入排序(直接插入排序折半插入排序希尔排序的算法思想及代码实现)