当前位置: 首页 > 后端技术 > PHP

PHP实现插入排序

时间:2023-03-29 23:54:26 PHP

介绍关于排序算法,到此结束。冒泡排序、快速排序、选择排序,加上本文中的插入排序,这四种算法都比较简单易懂。对于比较复杂的算法,我就不秀丑了,以免误导孩子。插入排序插入排序(英文:InsertionSort)是一种简单直观的排序算法。它的工作原理是构造一个有序的序列,对于未排序的数据,在已排序的序列中从后往前扫描,找到对应的位置并插入。在插入排序的实现中,通常使用原地排序(即只需要使用O(1)额外空间的排序),所以在从后往前扫描的过程中,需要反复移动逐步向后排序元素,为最新元素提供插入空间。一般来说,插入排序是在数组上使用原地实现的。具体算法描述如下:从第一个元素开始,可以认为该元素已排序取出下一个元素,在已排好序的元素序列中从后向前扫描。如果元素(已排序)大于新元素,则将该元素移动到下一个位置并重复步骤3,直到找到已排序元素小于或等于新元素的位置将新元素插入该位置并重复维基百科介绍中的步骤2~5。重点在步骤2~5。动画示例=0;$k--){//条件为真,在比较值后移动一位,用比较值替换当前值//倒序$temp>$arr[$k]if($temp<$arr[$k]){$arr[$k+1]=$arr[$k];$arr[$k]=$温度;}}}return$arr;}print_r(insertSort($arr));//数组([0]=>2[1]=>3[2]=>8[3]=>16[4]=>21[5]=>23[6]=>24[7]=>32[8]=>33)参考资料:插入排序,PHP排序算法系列:插入排序。