插入排序演算法(PHP實現)

2021-10-08 09:17:01 字數 956 閱讀 7524

基本思想:每一次比較都把下乙個數放到前面的適當位置,這樣需要把前面比該數大的值全部後移乙個位置。

在要排序的一組數中,假定前n-1個數已經排好序,現在將第n個數插到前面的有序數列中,使得這n個數也是排好順序的。如此反覆迴圈,直到全部排好順序。

**:

<?php

function

insertion_sort

($arr

)$arr_len

=count

($arr);

for($i=

1;$i<

$arr_len;$i

++)else

}$arr[$j

+1]=

$current

;// 把當前數插入到適當位置,注意,因為$j--操作導致多減了一次,加1補上

}return

$arr;}

$arr=[

2,13,

1,5,

99,234,23]

;$arr=[

3,34,

443,

123,2,

1,543,

534234,19

,234

,9434];

$arr

=insertion_sort

($arr);

print_r

($arr

);

輸出:

array

([0] => 1

[1] => 2

[2] => 3

[3] => 19

[4] => 34

[5] => 123

[6] => 234

[7] => 443

[8] => 543

[9] => 9434

[10] => 534234

)

php實現插入排序

它是通過構建有序序列,對於未排序資料,在已排序序列中從後向前掃瞄,找到相應位置並插入。其實這個我們並不陌生,舉乙個現實中的小例子,我們都打過撲克,拿到牌時,就需要對撲克進行抹順,一般都是按著左右是從小到大的順序,新來了一張牌,我們是不是一張一張的進行比較,找到它合適的位置,這就是插入排序。arr j...

PHP實現插入排序

插入排序思想 插入排序 insertion sort 的演算法描述是一種簡單直觀的排序演算法。它的工作原理是通過構建有序序列,對於未排序資料,在已排序序列中從後向前掃瞄,找到相應位置並插入。插入排序在實現上,通常採用in place排序 即只需用到o 1 的額外空間的排序 因而在從後向前掃瞄過程中,...

插入排序演算法實現

插入排序在眾多排序演算法中是一種穩定的排序方法,其平均與最差時間複雜度均為o n2 空間複雜度為o 1 主要思路 每一次排序都將待排序元素的元素,從已排序的元素的左邊 右邊 開始,依次往右邊 左邊 比較,滿足比較條件的話就交換元素的位置。原理很簡單,先看 include using namespac...