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 插入排序 插入排序的基本思想...