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删除与复制文件夹及其文件夹下所有文件的实现代码
Jan 23 PHP
基于PHP读取TXT文件向数据库导入海量数据的方法
Apr 23 PHP
深入PHP购物车模块功能分析(函数讲解,附源码)
Jun 25 PHP
PHP生成RSS文件类实例
Dec 05 PHP
PHP实现将科学计数法转换为原始数字字符串的方法
Dec 16 PHP
php自定义urlencode,urldecode函数实例
Mar 24 PHP
php实现格式化多行文本为Js可用格式
Apr 15 PHP
PHP使用Pear发送邮件(Windows环境)
Jan 05 PHP
PHP和MySql中32位和64位的整形范围是多少
Feb 18 PHP
PHP基于GD库实现的生成图片缩略图函数示例
Jul 05 PHP
PHP使用glob方法遍历文件夹下所有文件的实例
Oct 17 PHP
laravel框架学习笔记之组件化开发实现方法
Feb 01 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 INI配置文件的解析实现分析
2011/01/04 PHP
TP5框架model常见操作示例小结【增删改查、聚合、时间戳、软删除等】
2020/04/05 PHP
BOOM vs RR BO3 第一场2.13
2021/03/10 DOTA
List the Stored Procedures in a SQL Server database
2007/06/20 Javascript
GWT中复制到剪贴板 js+flash实现复制 兼容性比较好
2010/03/07 Javascript
基于Jquery的标签智能验证实现代码
2010/12/27 Javascript
基于jquery的一个拖拽到指定区域内的效果
2011/09/21 Javascript
模拟select的代码
2011/10/19 Javascript
基于jquery的鼠标拖动效果代码
2012/05/30 Javascript
JSON 数字排序多字段排序介绍
2013/09/18 Javascript
js 实现菜单左右滚动显示示例介绍
2013/11/21 Javascript
jquery实现的一个简单进度条效果实例
2014/05/12 Javascript
JavaScript 学习笔记之基础中的基础
2015/01/13 Javascript
JS模拟Dialog弹出浮动框效果代码
2015/10/16 Javascript
详解JavaScript编程中的数组结构
2015/10/24 Javascript
跟我学习javascript的prototype,getPrototypeOf和__proto__
2015/11/17 Javascript
基于JS模仿windows文件按名称排序效果
2016/06/29 Javascript
关于JavaScript 原型链的一点个人理解
2016/07/31 Javascript
Ext JS 实现建议词模糊动态搜索功能
2017/05/13 Javascript
微信小程序中post方法与get方法的封装
2017/09/26 Javascript
js自定义trim函数实现删除两端空格功能
2018/02/09 Javascript
微信小程序实现星级评价
2019/11/20 Javascript
python pytest进阶之xunit fixture详解
2019/06/27 Python
Python Selenium破解滑块验证码最新版(GEETEST95%以上通过率)
2021/01/29 Python
如何用Django处理gzip数据流
2021/01/29 Python
CSS3动画效果回调处理详解
2014/12/10 HTML / CSS
Snapfish爱尔兰:在线照片打印和个性化照片礼品
2018/09/17 全球购物
size?法国官网:英国伦敦的球鞋精品店
2020/03/15 全球购物
司机职责范本
2014/03/08 职场文书
大学生党校培训心得体会
2014/09/11 职场文书
八项规定整改方案
2014/10/01 职场文书
2015年中秋节演讲稿
2015/03/20 职场文书
自主招生学校推荐信范文
2015/03/26 职场文书
乡镇团委工作总结2015
2015/05/26 职场文书
CSS3实现的侧滑菜单
2021/04/27 HTML / CSS
Win11怎么添加用户?Win11添加用户账户的方法
2022/07/15 数码科技