php实现插入排序


Posted in PHP onMarch 29, 2015
<?php
/**
 * 插入排序
 * @param Array $a 无序集合
 * @return Array 有序集合
 */
function insertSort($a) {
  $temp;
  $i;
  $j;
  $size_a = count($a);
  # 从第二个元素开始
  for ($i = 1; $i < $size_a; $i++) {      
    if ($a[$i] < $a[$i-1]) {     
      $j = $i; # 保存当前元素的位置
      $temp = $a[$i]; # 当前元素的值  
 
      # 比较左边的元素,如果找到比自己更小的,向右移动元素,否则插入元素到当前位置
      while($j>0 && $temp<$a[$j-1]) {
        $a[$j] = $a[$j-1];
        $j--;
      }
       
      # 插入元素
      $a[$j] = $temp;
    }
  }
  return $a;
}
/**
 * 获取随机数
 * @param Integer $size 数量
 * @return Integer
 */
function randomNumber($size = 10) {
  $rand = array();
  srand(time(NULL));
  for ($i = 0; $i < $size; $i++) {
    array_push($rand, mt_rand(0,1000));   
  }
  return $rand;
}
 
$a = randomNumber();
echo sprintf("Unsorted list %s\n", implode(" ", $a));
echo sprintf("Sorted list %s\n", implode(" ", insertSort($a)));

以上就是本文所述的全部内容了,希望大家能够喜欢。

PHP 相关文章推荐
繁体中文转换为简体中文的PHP函数
Oct 09 PHP
php创建多级目录代码
Jun 05 PHP
php HandlerSocket的使用
May 02 PHP
setcookie中Cannot modify header information-headers already sent by错误的解决方法详解
May 08 PHP
php获取中文拼音首字母类和函数分享
Apr 24 PHP
CI框架Session.php源码分析
Nov 03 PHP
Ubuntu下安装PHP的mongodb扩展操作命令
Jul 04 PHP
PHP中substr_count()函数获取子字符串出现次数的方法
Jan 07 PHP
java微信开发之上传下载多媒体文件
Jun 24 PHP
解决form中action属性后面?传递参数 获取不到的问题
Jul 21 PHP
PHP基于关联数组20行代码搞定约瑟夫问题示例
Nov 07 PHP
TP5框架请求响应参数实例分析
Oct 17 PHP
php实现插入数组但不影响原有顺序的方法
Mar 27 #PHP
WordPress自定义时间显示格式
Mar 27 #PHP
在php和MySql中计算时间差的方法详解
Mar 27 #PHP
PHP连接access数据库
Mar 27 #PHP
使用新浪微博API的OAuth认证发布微博实例
Mar 27 #PHP
新浪微博OAuth认证和储存的主要过程详解
Mar 27 #PHP
php简单实现无限分类树形列表的方法
Mar 27 #PHP
You might like
php 常用类整理
2009/12/23 PHP
PHP下利用header()函数设置浏览器缓存的代码
2010/09/01 PHP
php中jpgraph类库的使用介绍
2013/08/08 PHP
PHP 验证身份证是否合法的函数
2017/02/09 PHP
js form 验证函数 当前比较流行的错误提示
2009/06/23 Javascript
AppBaseJs 类库 网上常用的javascript函数及其他js类库写的
2010/03/04 Javascript
JQuery中each()的使用方法说明
2010/08/19 Javascript
基于jquery的复制网页内容到WORD的实现代码
2011/02/16 Javascript
jQuery弹性滑动导航菜单实现思路及代码
2013/05/02 Javascript
JS定时关闭窗口的实例
2013/05/22 Javascript
jQuery显示和隐藏 常用的状态判断方法
2015/01/29 Javascript
JavaScript中字符串(string)转json的2种方法
2015/06/25 Javascript
js实现内容显示并使用json传输数据
2016/03/16 Javascript
老司机带你解读jQuery插件开发流程
2016/05/16 Javascript
EasyUI创建对话框的两种方式
2016/08/23 Javascript
微信小程序  http请求封装详解及实例代码
2017/02/15 Javascript
Javascript实现数组中的元素上下移动
2017/04/28 Javascript
讲解vue-router之什么是动态路由
2018/05/28 Javascript
angularjs http与后台交互的实现示例
2018/12/21 Javascript
JQuery获取元素尺寸、位置及页面滚动事件应用示例
2019/05/14 jQuery
vue elementUI table 自定义表头和行合并的实例代码
2019/05/22 Javascript
JS前后端实现身份证号验证代码解析
2020/07/23 Javascript
微信小程序轮播图swiper代码详解
2020/12/01 Javascript
Python编程生成随机用户名及密码的方法示例
2017/05/05 Python
基于django channel实现websocket的聊天室的方法示例
2019/04/11 Python
Django 请求Request的具体使用方法
2019/11/11 Python
Python 虚拟环境工作原理解析
2020/12/24 Python
社区党总支书记先进事迹材料
2014/01/24 职场文书
艺校音乐专业自我鉴定范文
2014/03/01 职场文书
工伤赔偿协议书
2014/04/15 职场文书
四川省传达学习贯彻党的群众路线教育实践活动总结大会精神新闻稿
2014/10/26 职场文书
2014年人事行政工作总结
2014/12/03 职场文书
预备党员入党感言
2015/08/01 职场文书
珍惜时间的诗歌赏析
2019/08/23 职场文书
Oracle 数据仓库ETL技术之多表插入语句的示例详解
2021/04/12 Oracle
MySQL Server层四个日志的实现
2022/03/31 MySQL