插入排序 php版本

2022-09-01 22:54:31 字數 3316 閱讀 5356

function insertsort(array $container)

}return $container;

}print_r(insertsort([3, 12, 42, 1, 24, 5, 346, 7]));

列印出i=3時輸出的$container

array

(

[0] => 3

[1] => 12

[2] => 1

[3] => 42

[4] => 24

[5] => 5

[6] => 346

[7] => 7

)

array

(

[0] => 3

[1] => 1

[2] => 12

[3] => 42

[4] => 24

[5] => 5

[6] => 346

[7] => 7

)

array

(

[0] => 1

[1] => 3

[2] => 12

[3] => 42

[4] => 24

[5] => 5

[6] => 346

[7] => 7

)

從而看出array[3]的1,一步一步移動到array[0]。

當array[2]的42 > array[3]的1 時 進入while迴圈,互換位置,

array

(

[0] => 3

[1] => 12

[2] => 1

[3] => 42

[4] => 24

[5] => 5

[6] => 346

[7] => 7

)

隨即j-1=1,繼續判斷

當array[1]的12 > array[2]的1 進入while迴圈,互換位置,

array

(

[0] => 3

[1] => 1

[2] => 12

[3] => 42

[4] => 24

[5] => 5

[6] => 346

[7] => 7

)

隨即j-1=0,繼續判斷

當array[0]的3 > array[1]的1 進入while迴圈,互換位置,

array

(

[0] => 1

[1] => 3

[2] => 12

[3] => 42

[4] => 24

[5] => 5

[6] => 346

[7] => 7

)

隨即j-1=-1,break退出while。

i=4繼續迴圈;

得到最終結果:

array(

[0] => 1

[1] => 3

[2] => 12

[3] => 42

[4] => 24

[5] => 5

[6] => 346

[7] => 7

)

排序 插入排序 Swift版本

插入排序 insertion sort 是一種簡單直觀的排序演算法。插入排序的靈感可能來自於我們玩牌的經驗。當我們摸牌的時候,每摸到一張牌,都會將這張牌插入到其他有序的牌中的適當位置。排序演算法 預設是公升序 的原理是,計算機在遍歷陣列中的元素時,認為當前索引左邊的元素都是有序的,首先在左邊有序的陣...

PHP 插入排序 直接插入排序

1 直接插入序 straight insertion sort 時間複雜度 o n 2 適用條件 適合記錄數不多的情況 1 2 a 0 3,4,5,1,11,9,27,18,20 語法 php5.4 版本 3 4 5 直接插入排序 6 在已經排好序的佇列插入新的記錄 7 param array li...

php選擇排序,插入排序

選擇排序 實現思路 雙重迴圈完成,外層控制輪數,當前的最小值。內層 控制的比較次數 i 當前最小值的位置 public function selectsort arr 如果發現 最小值的位置與當前假設的位置 i不同,則位置互換即可 if min i return arr 插入排序 插入排序的基本思想...