PHP插入排序实现代码


Posted in PHP onApril 04, 2013

算法描述:

⒈ 从第一个元素开始,该元素可以认为已经被排序
⒉ 取出下一个元素,在已经排序的元素序列中从后向前扫描
⒊ 如果该元素(已排序)大于新元素,将该元素移到下一位置
⒋ 重复步骤3,直到找到已排序的元素小于或者等于新元素的位置
⒌ 将新元素插入到下一位置中
⒍ 重复步骤2

<?php
    $arr =array(123,0,5,-1,4,15);
    function insertSort(&$arr){
        //先默认第一个下标为0的数是排好的数
        for($i=1;$i<count($arr);$i++){
            //确定插入比较的数
            $insertVal=$arr[$i];
            //确定与前面比较的数比较
            $insertIndex=$i-1;
            //表示没有找到位置
            while($insertIndex>=0 && $insertVal<$arr[$insertIndex]){
                //把数后移
                $arr[$insertIndex+1]=$arr[$insertIndex];
                $insertIndex--;
            }
        //插入(给$insertval找到位置了)
        $arr[$insertIndex+1] = $insertVal;
        }
    }
    insertSort($arr);
    print_r($arr);
?>
PHP 相关文章推荐
模拟OICQ的实现思路和核心程序(三)
Oct 09 PHP
php PDO中文乱码解决办法
Jul 20 PHP
PHP 获取文件路径(灵活应用__FILE__)
Feb 15 PHP
php中用date函数获取当前时间有误的解决办法
Aug 02 PHP
Php中使用Select 查询语句的实例
Feb 19 PHP
PHP生成指定长度随机数最简洁的方法
Jul 14 PHP
thinkphp文件引用与分支结构用法实例
Nov 26 PHP
PHP中list方法用法示例
Dec 01 PHP
PHP基于DateTime类解决Unix时间戳与日期互转问题【针对1970年前及2038年后时间戳】
Jun 13 PHP
php使用curl获取header检测开启GZip压缩的方法
Aug 15 PHP
tp5框架无刷新分页实现方法分析
Sep 26 PHP
php实现商城购物车的思路和源码分析
Jul 23 PHP
php 无法加载mcrypt.dll的解决办法
Apr 03 #PHP
PHP常用的文件操作函数经典收藏
Apr 02 #PHP
精美漂亮的php分页类代码
Apr 02 #PHP
php更新mysql后获取影响的行数发生异常解决方法
Mar 28 #PHP
php页面跳转代码 输入网址跳转到你定义的页面
Mar 28 #PHP
PHP 数组和字符串互相转换实现方法
Mar 26 #PHP
php中将html中的br换行符转换为文本输入中的换行符
Mar 26 #PHP
You might like
第一个无线电台是由谁发明的
2021/03/01 无线电
基于mysql的论坛(4)
2006/10/09 PHP
php处理json时中文问题的解决方法
2011/04/12 PHP
启用OPCache提高PHP程序性能的方法
2019/03/21 PHP
PHP使用递归按层级查找数据的方法
2019/11/10 PHP
JavaScript设计模式之工厂方法模式介绍
2014/12/28 Javascript
javascript中typeof操作符和constucor属性检测
2015/02/26 Javascript
JQuery中attr方法和removeAttr方法用法实例
2015/05/18 Javascript
简单谈谈node.js 版本控制 nvm和 n
2015/10/15 Javascript
RequireJS使用注意细节
2016/05/15 Javascript
JS实现拖动滚动条评分的效果代码分享
2016/09/29 Javascript
JavaScript中的子窗口与父窗口的互相调用问题
2017/02/08 Javascript
实例教学如何写vue插件
2017/11/30 Javascript
IE9 elementUI文件上传的问题解决
2018/10/17 Javascript
微信js-sdk 录音功能的示例代码
2019/11/01 Javascript
vue中activated的用法
2021/01/03 Vue.js
[34:27]DOTA2上海特级锦标赛B组败者赛 VG VS Spirit第一局
2016/02/26 DOTA
零基础写python爬虫之urllib2中的两个重要概念:Openers和Handlers
2014/11/05 Python
详解Python中for循环的使用
2015/04/14 Python
python动态网页批量爬取
2016/02/14 Python
Python处理PDF及生成多层PDF实例代码
2017/04/24 Python
python网络应用开发知识点浅析
2019/05/28 Python
Keras中 ImageDataGenerator函数的参数用法
2020/07/03 Python
瑞士国际航空官网:SWISS
2016/07/21 全球购物
怀俄明州飞钓:Platte River Fly Shop
2017/12/28 全球购物
含精油的天然有机化妆品:Indemne
2019/08/27 全球购物
产品工艺师的岗位职责
2013/11/15 职场文书
微博营销计划书
2014/01/10 职场文书
信息管理应届生求职信
2014/03/07 职场文书
委托公证书范本
2014/04/03 职场文书
财务工作疏忽检讨书
2014/09/11 职场文书
2014年度个人工作总结范文
2015/03/09 职场文书
2015年南京大屠杀纪念日活动总结
2015/03/24 职场文书
总经理聘用协议书
2015/09/21 职场文书
2019经典广告词集锦!
2019/07/02 职场文书
vue整合百度地图显示指定地点信息
2022/04/06 Vue.js