PHP基礎排序演算法(三)插入排序

2021-07-16 06:57:35 字數 892 閱讀 7993

<?php

/** * @插入排序

* @排序思路:

* 通過對未排序的資料逐個插入至合適的位置,從而達到排序的目的。

* @流程:

* (1)首先對陣列的前兩個資料進行從小到大的排序。

* (2)接著將第3個資料與排好序的兩個資料比較,將第3個資料插入到合適的位置。

* (3)然後,將第4個資料插入到已排好序的前3個資料中。

* (4)不斷重複上述過程,直到把最後乙個資料插入到合適的位置,便可按照從小到大的順序排好。

*//**

* @desc 插入排序演算法asc

* @author lxs

*/function insertsortasc($arr)

$arr[$y+1] = $insert;

}return $arr;

}/**

* @desc 插入排序演算法desc

* @author lxs

*/function insertsortdesc($arr)

$arr[$y+1] = $insert;

}return $arr;

}/**

* @desc 測試

*/$arr = array(23,13,33,44,53,4,6,22,489,2,65,89,320,54,360,11,999);

$res_asc = insertsortasc($arr);

$res_desc = insertsortdesc($arr);

echo '';

print_r($res_asc);

print_r($res_desc);

echo '

';

基礎排序演算法 插入排序

插入排序,就是如果有乙個已經有序的資料序列,要求在這個已經排好的資料序列中插入乙個數,但要求插入後此資料序列仍然有序,這個時候就要用到一種新的排序方法 插入排序法,插入排序的基本操作就是將乙個資料插入到已經排好序的有序資料中,從而得到乙個新的 個數加一的有序資料,演算法適用於少量資料的排序,時間複雜...

排序演算法(三)插入排序

今天來更新排序演算法中的第三種演算法 插入排序插入排序是基於比較的排序。所謂的基於比較,就是通過比較陣列中的元素,看誰大誰小,根據結果來調整元素的位置 因此,對於這類排序,就有兩種基本的操作 比較操作 交換操作其中,對於交換操作,可以優化成移動操作,即不直接進行兩個元素的交換,還是用乙個樞軸元素 t...

排序演算法(三) 插入排序

一 直接插入排序 最差時間複雜度 o n 2 最優時間複雜度 o n 平均時間複雜度 o n 2 穩定性 穩定 直接插入排序 insertion sort 是一種簡單直觀的排序演算法。它的工作原理是通過構建有序序列,對未排序的資料,在已排序序列中從後向前掃瞄,找到相應位置並插入。插入排序演算法的一般...