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 相关文章推荐
简单易用的计数器(数据库)
Oct 09 PHP
PHP insert语法详解
Jun 07 PHP
PHP如何抛出异常处理错误
Mar 02 PHP
ThinkPHP中__initialize()和类的构造函数__construct()用法分析
Nov 29 PHP
php文件扩展名判断及获取文件扩展名的N种方法
Sep 12 PHP
CodeIgniter常用知识点小结
May 26 PHP
PHP基于单例模式编写PDO类的方法
Sep 13 PHP
php解析base64数据生成图片的方法
Dec 06 PHP
PHP实现微信退款功能
Oct 02 PHP
PHP基于swoole多进程操作示例
Aug 12 PHP
php探针使用原理和技巧讲解
Sep 17 PHP
基于PHP实现用户登录注册功能的详细教程
Aug 04 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生成带有雪花背景的验证码
2006/10/09 PHP
PHP中上传文件打印错误错误类型分析
2019/04/14 PHP
Laravel等框架模型关联的可用性浅析
2019/12/15 PHP
$.format,jquery.format 使用说明
2011/07/13 Javascript
jQuery后代选择器用法实例
2014/12/23 Javascript
IE及IE6浏览器中判断JS文件加载成功失败的方法
2015/02/18 Javascript
javascript模拟php函数in_array
2015/04/27 Javascript
Express实现前端后端通信上传图片之存储数据库(mysql)傻瓜式教程(二)
2015/12/10 Javascript
一个仿微博登陆邮箱提示框js开发案例
2016/07/28 Javascript
Bootstrap时间选择器datetimepicker和daterangepicker使用实例解析
2016/09/17 Javascript
bootstrap警告框使用方法解析
2017/01/13 Javascript
Node.js数据库操作之连接MySQL数据库(一)
2017/03/04 Javascript
利用jQuery实现一个简单的表格上下翻页效果
2017/03/14 Javascript
开发Vue树形组件的示例代码
2017/12/21 Javascript
详解Vue3.0 前的 TypeScript 最佳入门实践
2019/06/18 Javascript
layui数据表格实现重载数据表格功能(搜索功能)
2019/07/27 Javascript
JS数据类型STRING使用实例解析
2019/12/18 Javascript
微信小程序以7天为周期连续签到7天功能效果的示例代码
2020/08/20 Javascript
[03:07]【DOTA2亚洲邀请赛】我们,梦开始的地方
2017/03/07 DOTA
Python多线程编程(一):threading模块综述
2015/04/05 Python
如何使用VSCode愉快的写Python于调试配置步骤
2018/04/06 Python
python得到一个excel的全部sheet标签值方法
2018/12/10 Python
python实现输出一个序列的所有子序列示例
2019/11/18 Python
Python写捕鱼达人的游戏实现
2020/03/31 Python
python实现简单学生信息管理系统
2020/04/09 Python
python正则表达式的懒惰匹配和贪婪匹配说明
2020/07/13 Python
工程师必须了解的LRU缓存淘汰算法以及python实现过程
2020/10/15 Python
HTML5新增form控件和表单属性实例代码详解
2019/05/15 HTML / CSS
物业管理专业个人的自我评价
2013/11/19 职场文书
运动会通讯稿500字
2014/02/20 职场文书
医学生职业生涯规划书范文
2014/03/13 职场文书
“四风”问题整改措施和努力方向
2014/09/20 职场文书
工人先锋号申报材料
2014/12/29 职场文书
自我检讨书范文
2015/01/28 职场文书
2016年会开场白台词
2015/06/01 职场文书
MySQL控制流函数(-if ,elseif,else,case...when)
2022/07/07 MySQL