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控制用户的浏览器--ob*函数的使用说明
Mar 16 PHP
PHP 开源AJAX框架14种
Aug 24 PHP
php自动加载的两种实现方法
Jun 21 PHP
PHP与MongoDB简介|安全|M+PHP应用实例详解
Jun 17 PHP
解析PHP中一些可能会被忽略的问题
Jun 21 PHP
php环境无法上传文件的解决方法
Apr 30 PHP
简单的php新闻发布系统教程
May 09 PHP
php使用str_replace实现输入框回车替换br的方法
Nov 24 PHP
PHP把MSSQL数据导入到MYSQL的方法
Dec 27 PHP
php操作redis缓存方法分享
Jun 03 PHP
PHP实现带重试功能的curl连接示例
Jul 28 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中iconv函数使用方法
2008/05/24 PHP
php中array_slice和array_splice函数解析
2016/10/18 PHP
ThinkPHP5分页paginate代码实例解析
2020/11/10 PHP
JavaScript 给汉字排序实例代码
2008/06/28 Javascript
一些常用的JS功能函数(2009-06-04更新)
2009/06/04 Javascript
一款Jquery 分页插件的改造方法(服务器端分页)
2011/07/11 Javascript
让复选框只能选择一项的方法
2013/10/08 Javascript
分享Javascript中最常用的55个经典小技巧
2013/11/29 Javascript
解析prototype,JQuery中跳出each循环的方法
2013/12/12 Javascript
javascript替换已有元素replaceChild()使用介绍
2014/04/03 Javascript
介绍一个简单的JavaScript类框架
2015/06/24 Javascript
jQuery手动点击实现图片轮播特效
2020/04/20 Javascript
深入理解vue.js双向绑定的实现原理
2016/12/05 Javascript
jquery插件treegrid树状表格的使用方法详解(.Net平台)
2017/01/03 Javascript
angularjs实现简单的购物车功能
2017/09/21 Javascript
用vue快速开发app的脚手架工具
2018/06/11 Javascript
vue组件横向树实现代码
2018/08/02 Javascript
vue.js 双层嵌套for遍历的方法详解, 类似php foreach()
2018/09/07 Javascript
微信小程序后端实现授权登录
2020/02/24 Javascript
Vue 请求传公共参数的操作
2020/07/31 Javascript
[05:53]完美世界携手游戏风云打造 卡尔工作室观战系统篇
2013/04/22 DOTA
wxpython中利用线程防止假死的实现方法
2014/08/11 Python
Python使用scrapy采集数据时为每个请求随机分配user-agent的方法
2015/04/08 Python
深入解析Python中的lambda表达式的用法
2015/08/28 Python
Linux下为不同版本python安装第三方库
2016/08/31 Python
Pycharm学习教程(4) Python解释器的相关配置
2017/05/03 Python
Python实现霍夫圆和椭圆变换代码详解
2018/01/12 Python
一款纯css3实现的响应式导航
2014/10/31 HTML / CSS
大一自我鉴定范文
2013/10/04 职场文书
幼儿园大班毕业教师寄语
2014/04/03 职场文书
2014乡镇机关党员个人对照检查材料思想汇报
2014/10/09 职场文书
党的群众路线教育实践活动领导班子整改方案
2014/10/25 职场文书
工作表扬信
2015/01/17 职场文书
好员工观后感
2015/06/17 职场文书
深度学习详解之初试机器学习
2021/04/14 Python
JS实现页面炫酷的时钟特效示例
2022/08/14 Javascript