更新時間:2017-08-31 來源:黑馬程序員PHP培訓(xùn)學(xué)院 瀏覽量:
許多人都說算法是程序的核心,算法的好壞決定了程序的質(zhì)量。作為一個初學(xué)者,雖然很少接觸到算法方面的東西。但是對于基本的排序算法還是應(yīng)該掌握的,它是程序開發(fā)的必備工具。
插入排序
思路分析:在要排序的一組數(shù)中,假設(shè)前面的數(shù)已經(jīng)是排好順序的,現(xiàn)在要把第n個數(shù)插到前面的有序數(shù)中,使得這n個數(shù)也是排好順序的。如此反復(fù)循環(huán),直到全部排好順序。
代碼實現(xiàn):
function insertSort($arr) {
$len=count($arr);
for($i=1, $i<$len; $i++) {
$tmp = $arr[$i];
//內(nèi)層循環(huán)控制,比較并插入
for($j=$i1;$j>=0;$j) {
if($tmp < $arr[$j]) {
//發(fā)現(xiàn)插入的元素要小,交換位置,將后邊的元素與前面的元素互換
$arr[$j+1] = $arr[$j];
$arr[$j] = $tmp;
} else {
//如果碰到不需要移動的元素,由于是已經(jīng)排序好是數(shù)組,則前面的就不需要再次比較了。
break;
}
}
}
return $arr;
}
1024首播|39歲程序員逆襲記:不被年齡定義,AI浪潮里再迎春天
2025-10-241024程序員節(jié)丨10年同行,致敬用代碼改變世界的你
2025-10-24【AI設(shè)計】北京143期畢業(yè)僅36天,全員拿下高薪offer!黑馬AI設(shè)計連續(xù)6期100%高薪就業(yè)
2025-09-19【跨境電商運營】深圳跨境電商運營畢業(yè)22個工作日,就業(yè)率91%+,最高薪資達(dá)13500元
2025-09-19【AI運維】鄭州運維1期就業(yè)班,畢業(yè)14個工作日,班級93%同學(xué)已拿到Offer, 一線均薪資 1W+
2025-09-19【AI鴻蒙開發(fā)】上海校區(qū)AI鴻蒙開發(fā)4期5期,距離畢業(yè)21天,就業(yè)率91%,平均薪資14046元
2025-09-19