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类的使用 实例代码讲解
Dec 28 PHP
php利用iframe实现无刷新文件上传功能的代码
Sep 29 PHP
php Xdebug的安装与使用详解
Jun 20 PHP
采用header定义为文件然后readfile下载(隐藏下载地址)
Jan 31 PHP
Yii入门教程之目录结构、入口文件及路由设置
Nov 25 PHP
PHP 7的一些引人注目的新特性简单介绍
Nov 08 PHP
PHP面试常用算法(推荐)
Jul 22 PHP
Yii2创建表单(ActiveForm)方法详解
Jul 23 PHP
centos 7.2下搭建LNMP环境教程
Nov 20 PHP
PDO::commit讲解
Jan 27 PHP
PHP设计模式之数据访问对象模式(DAO)原理与用法实例分析
Dec 12 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数据库操作面向对象的优点
2006/10/09 PHP
删除无限分类并同时删除它下面的所有子分类的方法
2010/08/08 PHP
PHP的autoload自动加载机制使用说明
2010/12/28 PHP
PHP中获取变量的变量名的一段代码的bug分析
2011/07/07 PHP
PHP计算指定日期所在周的开始和结束日期的方法
2015/03/24 PHP
PHP面向对象程序设计实例分析
2016/01/26 PHP
PHP运行模式汇总
2016/11/06 PHP
PHP进制转换实例分析(2,8,16,36,64进制至10进制相互转换)
2017/02/04 PHP
PHP实现求两个字符串最长公共子串的方法示例
2017/11/17 PHP
PHP多个图片压缩成ZIP的方法
2020/08/18 PHP
通过JAVASCRIPT读取ASP设定的COOKIE
2006/11/24 Javascript
用js判断浏览器是否是IE的比较好的办法
2007/05/08 Javascript
JS实现淘宝支付宝网站的控制台菜单效果
2015/09/28 Javascript
前端js实现文件的断点续传 后端PHP文件接收
2016/10/14 Javascript
微信小程序 chooseImage选择图片或者拍照
2017/04/07 Javascript
解决jQuery ajax动态新增节点无法触发点击事件的问题
2017/05/24 jQuery
JS中DOM元素的attribute与property属性示例详解
2018/09/04 Javascript
如何优雅的在一台vps(云主机)上面部署vue+mongodb+express项目
2019/01/20 Javascript
koa+mongoose实现简单增删改查接口的示例代码
2019/05/13 Javascript
浅谈JS中几种轻松处理'this'指向方式
2019/09/16 Javascript
[01:00:14]DOTA2-DPC中国联赛 正赛 Ehome vs Elephant BO3 第二场 2月28日
2021/03/11 DOTA
Python查询阿里巴巴关键字排名的方法
2015/07/08 Python
学习Python3 Dlib19.7进行人脸面部识别
2018/01/24 Python
python 数字类型和字符串类型的相互转换实例
2018/07/17 Python
Python语言进阶知识点总结
2019/05/28 Python
利用Tensorboard绘制网络识别准确率和loss曲线实例
2020/02/15 Python
xadmin使用formfield_for_dbfield函数过滤下拉表单实例
2020/04/07 Python
Python request post上传文件常见要点
2020/11/20 Python
教你如何一步一步用Canvas写一个贪吃蛇
2018/10/22 HTML / CSS
澳大利亚的奢侈品牌:Oroton
2016/08/26 全球购物
Guess欧洲官网:美国服饰品牌
2019/08/06 全球购物
耐克奥地利官网:Nike奥地利
2019/08/16 全球购物
机电一体化专业推荐信
2013/12/03 职场文书
渡河少年教学反思
2014/02/12 职场文书
2014年党员公开承诺书范文
2014/03/28 职场文书
本科毕业生应聘求职信
2014/07/06 职场文书