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 相关文章推荐
刚才在简化php的库,结果发现很多东西
Dec 31 PHP
php中比较简单的导入phpmyadmin生成的sql文件的方法
Jun 28 PHP
php简单的会话类代码
Aug 08 PHP
PHP imagecreatefrombmp 从BMP文件或URL新建一图像
Jul 16 PHP
php中0,null,empty,空,false,字符串关系的详细介绍
Jun 20 PHP
使用Curl进行抓取远程内容时url中文编码问题示例探讨
Oct 29 PHP
PHP实现采集抓取淘宝网单个商品信息
Jan 08 PHP
PHP Cookie学习笔记
Aug 23 PHP
PHP版单点登陆实现方案的实例
Nov 17 PHP
通过修改Laravel Auth使用salt和password进行认证用户详解
Aug 17 PHP
PHP实现超简单的SSL加密解密、验证及签名的方法示例
Aug 28 PHP
PHP安装memcache扩展的步骤讲解
Feb 14 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
PHP生成plist数据的方法
2015/06/16 PHP
javascript 面向对象思想 附源码
2009/07/07 Javascript
非常棒的10款jQuery 幻灯片插件
2011/06/14 Javascript
jquery数组之存放checkbox全选值示例代码
2013/12/20 Javascript
js获取url中的参数且参数为中文时通过js解码
2014/03/19 Javascript
从零学JS之你需要了解的几本书
2014/05/19 Javascript
javascript判断是手机还是电脑访问网页的简单实例分享
2014/06/03 Javascript
JavaScript判断textarea值是否为空并给出相应提示
2014/09/04 Javascript
jquery实现向下滑出的二级导航下滑菜单效果
2015/08/25 Javascript
jQuery获取某天的农历日期并判断是否除夕或新年的方法
2016/03/01 Javascript
原生JS封装Ajax插件(同域、jsonp跨域)
2016/05/03 Javascript
js判断主流浏览器类型和版本号的简单实现代码
2016/05/26 Javascript
JS检测页面中哪个HTML标签触发点击事件的方法
2016/06/17 Javascript
学习使用bootstrap的modal和carousel
2016/12/09 Javascript
jQuery表单元素选择器代码实例
2017/02/06 Javascript
BootStrap select2 动态改变值的方法
2017/02/10 Javascript
node.js使用免费的阿里云ip查询获取ip所在地【推荐】
2018/09/03 Javascript
小程序实现左滑删除功能
2018/10/30 Javascript
恢复百度云盘本地误删的文件脚本(简单方法)
2017/10/21 Python
python 通过类中一个方法获取另一个方法变量的实例
2019/01/22 Python
Python库安装速度过慢解决方案
2020/07/14 Python
Pygame框架实现飞机大战
2020/08/07 Python
Django跨域请求原理及实现代码
2020/11/14 Python
包装类的功能、种类、常用方法
2012/01/27 面试题
《李时珍夜宿古寺》教学反思
2014/04/09 职场文书
经贸日语专业个人求职信范文
2014/04/29 职场文书
工作求职信
2014/07/04 职场文书
信息与计算机科学职业规划范文:成为一艘有方向的船
2014/09/11 职场文书
2014年营业员工作总结
2014/11/18 职场文书
班主任经验交流材料
2014/12/16 职场文书
2015年审计人员工作总结
2015/05/26 职场文书
2019经典广告词集锦!
2019/07/02 职场文书
golang 实现两个结构体复制字段
2021/04/28 Golang
Redis 彻底禁用RDB持久化操作
2021/07/09 Redis
JMeter对MySQL数据库进行压力测试的实现步骤
2022/01/22 MySQL
tomcat默认最大连接数及相关调整方法
2022/05/06 Servers