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生成随机数或者字符串的代码
Sep 05 PHP
php5.3 不支持 session_register() 此函数已启用的解决方法
Nov 12 PHP
PHP 利用Mail_MimeDecode类提取邮件信息示例
Jan 26 PHP
php命名空间学习详解
Feb 27 PHP
php数组合并array_merge()函数使用注意事项
Jun 19 PHP
php使用curl出现Expect:100-continue解决方法
Mar 03 PHP
经典PHP加密解密函数Authcode()修复版代码
Apr 05 PHP
ThinkPHP在Cli模式下使用模板引擎的方法
Sep 25 PHP
[原创]ThinkPHP让../Public在模板不解析(直接输出)的方法
Oct 09 PHP
php表单提交实例讲解
Nov 12 PHP
PHP的RSA加密解密方法以及开发接口使用
Feb 11 PHP
PHP大文件分块上传功能实例详解
Jul 22 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
在apache下限制每个虚拟主机的并发数!!!!
2006/10/09 PHP
php SQL防注入代码集合
2008/04/25 PHP
php实现获取及设置用户访问页面语言类
2014/09/24 PHP
如何判断php mysqli扩展类是否开启
2016/12/24 PHP
PHP判断密码强度的方法详解
2017/05/26 PHP
JS获取select-option-text_value的方法
2013/12/26 Javascript
jQuery瀑布流插件Wookmark使用实例
2014/04/02 Javascript
jQuery的css() 方法使用指南
2015/05/03 Javascript
javascript中数组方法汇总
2015/07/07 Javascript
jQuery实现鼠标滑过点击事件音效试听
2015/08/31 Javascript
JS数组排序技巧汇总(冒泡、sort、快速、希尔等排序)
2015/11/24 Javascript
让你一句话理解闭包(简单易懂)
2016/06/03 Javascript
运用js教你轻松制作html音乐播放器
2020/04/17 Javascript
简单的vue-resourse获取json并应用到模板示例
2017/02/10 Javascript
Vue2 SSR渲染根据不同页面修改 meta
2017/11/20 Javascript
Vue中v-for的数据分组实例
2018/03/07 Javascript
vue-router中scrollBehavior的巧妙用法
2018/07/09 Javascript
基于vue通用表单解决方案的思考与分析
2019/03/16 Javascript
Vue实现搜索结果高亮显示关键字
2019/05/28 Javascript
JS桶排序的简单理解与实现方法示例
2019/11/25 Javascript
Python配置文件解析模块ConfigParser使用实例
2015/04/13 Python
TensorFlow tensor的拼接实例
2020/01/19 Python
Python基于yield遍历多个可迭代对象
2020/03/12 Python
浅谈CSS3动画的回调处理
2016/07/21 HTML / CSS
CSS3移动端vw+rem不依赖JS实现响应式布局的方法
2019/01/23 HTML / CSS
HTML5播放实现rtmp流直播
2020/06/16 HTML / CSS
Boston Proper官网:美国女装品牌
2017/10/30 全球购物
Brora官网:英国领先的羊绒服装品牌
2019/08/28 全球购物
照片礼物和装饰:MyPhoto
2019/11/02 全球购物
分解成质因数(如435234=251*17*17*3*2,据说是华为笔试题)
2014/07/16 面试题
医院护士求职自荐信格式
2013/09/21 职场文书
优秀大学生的自我评价
2014/01/16 职场文书
2013年最新自荐信范文
2014/06/23 职场文书
个性发展自我评价2015
2015/03/09 职场文书
python爬不同图片分别保存在不同文件夹中的实现
2021/04/02 Python
只需要100行Python代码就可以实现的贪吃蛇小游戏
2021/05/27 Python