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中用文本文件做数据库的实现方法
Mar 27 PHP
php递归获取目录内文件(包含子目录)封装类分享
Dec 25 PHP
php使用百度ping服务代码实例
Jun 19 PHP
php实现的ping端口函数实例
Nov 12 PHP
php+mysqli实现批量替换数据库表前缀的方法
Dec 29 PHP
php创建无限级树型菜单
Nov 05 PHP
php实现的一段简单概率相关代码
May 30 PHP
PHP获取不了React Native Fecth参数的解决办法
Aug 26 PHP
php中mkdir()函数的权限问题分析
Sep 24 PHP
tp5框架无刷新分页实现方法分析
Sep 26 PHP
TP框架实现上传一张图片和批量上传图片的方法分析
Apr 23 PHP
PHP 判断字符串是中文还是英文, 或者是中英混合
Mar 09 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 addslashes()与addclashes()函数的区别和比较
2013/06/24 PHP
如何解决PHP获取不到SESSION信息之一般情况
2019/10/10 PHP
Javascript数组的排序 sort()方法和reverse()方法
2012/06/04 Javascript
js函数返回多个返回值的示例代码
2013/11/05 Javascript
jQuery中next()方法用法实例
2015/01/07 Javascript
jQuery实现时尚漂亮的弹出式对话框实例
2015/08/07 Javascript
详解js中构造流程图的核心技术JsPlumb(2)
2015/12/08 Javascript
JS DOMReady事件的六种实现方法总结
2016/11/23 Javascript
JS在if中的强制类型转换方式
2018/07/15 Javascript
基于Vue+elementUI实现动态表单的校验功能(根据条件动态切换校验格式)
2019/04/04 Javascript
jquery获取并修改触发事件的DOM元素示例【基于target 属性】
2019/10/10 jQuery
JS对日期操作封装代码实例
2019/11/08 Javascript
JavaScript实现Excel表格效果
2020/02/07 Javascript
手动实现把python项目发布为exe可执行程序过程分享
2014/10/23 Python
Python中的with...as用法介绍
2015/05/28 Python
Python开发的HTTP库requests详解
2017/08/29 Python
Python实现的人工神经网络算法示例【基于反向传播算法】
2017/11/11 Python
Python获取昨天、今天、明天开始、结束时间戳的方法
2018/06/01 Python
Python实现的序列化和反序列化二叉树算法示例
2019/03/02 Python
详解python运行三种方式
2019/05/13 Python
Django CSRF跨站请求伪造防护过程解析
2019/07/31 Python
python3处理word文档实例分析
2020/12/01 Python
详解使用CSS3的@media来编写响应式的页面
2017/11/01 HTML / CSS
css图标制作教程制作云图标
2014/01/19 HTML / CSS
CSS3实现时间轴特效
2020/11/02 HTML / CSS
Kathmandu美国网站:新西兰户外运动品牌
2019/03/23 全球购物
小学运动会广播稿200字(十二篇)
2014/01/14 职场文书
战友聚会主持词
2014/04/02 职场文书
求职自荐信的格式
2014/04/07 职场文书
妇女干部培训方案
2014/05/12 职场文书
本科毕业生应聘求职信
2014/07/06 职场文书
工会优秀工作者事迹
2014/08/17 职场文书
教师四风问题对照检查材料
2014/09/26 职场文书
作息时间调整通知
2015/04/22 职场文书
Go 语言下基于Redis分布式锁的实现方式
2021/06/28 Golang
MySQL自定义函数及触发器
2022/08/05 MySQL