php数组下标从0开始,所以第一步就是数组长度加1,数组元素全部后移一位,把下标0对应值设置为哨兵。结果顺序排序完成后,删除哨兵。

function insert_sort($arr) {
//这里可以用数组函数array_unshift(); 
for($m=count($arr);$m>=0;$m--){
$arr[$m] = $arr[$m-1];
} for($i=2;$i<count($arr);$i++){
if($arr[$i]<$arr[$i-1]){
$arr[0] = $arr[$i];
for($j=$i-1; $arr[$j]>$arr[0]; $j--){
$arr[$j+1] = $arr[$j];
}
$arr[$j+1] = $arr[0]; }
}
return array_slice($arr,1);//用array_shift()较好
} $arr = array('8', '30', '50','0');
$sortarr = insert_sort($arr);
print_r($sortarr);

  

最新文章

  1. 在 ASP.NET CORE 中使用 SESSION
  2. 一次Oracle 11g+FluentNHibernate AutoMapping组合尝试
  3. Android Testing学习02 HelloTesting 项目建立与执行
  4. JS-计算器制作
  5. Unity Shaders Vertex &amp; Fragment Shader入门
  6. 视频处理控件TVideoGrabber如何重新编码视频
  7. hdoj - 5202 Rikka with string (BestCoder Round #37 ($))
  8. [原创]Devexpress XtraReports 系列 7 创建Drill-Down(向下钻取)报表
  9. asp.net core 认证及简单集群
  10. ip地址中的网络号,主机号
  11. Thrift初探:简单实现C#通讯服务程序
  12. substr(dirname(__FILE__))
  13. wifipineapple的evilportal
  14. [51nod1407]与与与与
  15. SpringMVC表当重复提交
  16. 又是一个Notepad++的问题
  17. django 使用mysql 数据库
  18. 语义SLAM的数据关联和语义定位(二)Semantic Localization Via the Matrix Permanent
  19. win7下配置spark
  20. Linux下对于makefile的理解

热门文章

  1. 有向图变为强连通图 hdu2767
  2. Angular SPA基于Ocelot API网关与IdentityServer4的身份认证与授权(一)
  3. npm audit fix 报错
  4. 对 getopts 的理解
  5. httppost的用法
  6. [PHP学习教程 - 网络]001.下载/采集远程文件到本地(Download File)
  7. Java中的集合(六)继承Collection的Set接口
  8. Javascript函数闭包详解(通俗易懂
  9. RabbitMQ--其他几种模式
  10. 01 . Memcached简介及部署