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学习之PHP运算符
Oct 09 PHP
php Rename 更改文件、文件夹名称
May 24 PHP
在WINDOWS中设置计划任务执行PHP文件的方法
Dec 19 PHP
基于HBase Thrift接口的一些使用问题及相关注意事项的详解
Jun 03 PHP
Codeigniter实现处理用户登录验证后的URL跳转
Jun 12 PHP
PHP延迟静态绑定示例分享
Jun 22 PHP
PHP基于数组实现的分页函数实例
Aug 20 PHP
PHP实现CSV文件的导入和导出类
Mar 24 PHP
php使用cookie实现记住登录状态
Apr 27 PHP
PHP中单例模式与工厂模式详解
Feb 17 PHP
PHP基于Closure类创建匿名函数的方法详解
Aug 17 PHP
yii框架结合charjs统计上一年与当前年数据的方法示例
Apr 04 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中的登陆login
2007/01/18 PHP
PHP数字字符串左侧补0、字符串填充和自动补齐的几种方法
2014/05/10 PHP
PHP Socket网络操作类定义与用法示例
2017/08/30 PHP
仿中关村在线首页弹出式广告插件(jQuery版)
2012/05/03 Javascript
js实现图片旋转的三种方法
2014/04/10 Javascript
Bootstrap轮播插件中图片变形的终极解决方案 使用jqthumb.js
2016/07/10 Javascript
利用JavaScript如何查询某个值是否数组内
2017/07/30 Javascript
angularJS实现不同视图同步刷新详解
2018/10/09 Javascript
详解webpack4.x之搭建前端开发环境
2019/03/28 Javascript
如何为你的JavaScript代码日志着色详解
2019/04/08 Javascript
layUI实现三级导航菜单效果
2019/07/26 Javascript
JS数组方法reverse()用法实例分析
2020/01/18 Javascript
nodejs nedb 封装库与使用方法示例
2020/02/06 NodeJs
JS实现audio音频剪裁剪切复制播放与上传(步骤详解)
2020/07/28 Javascript
Vue实现计算器计算效果
2020/08/17 Javascript
python抓取网页图片并放到指定文件夹
2014/04/24 Python
Python数据结构与算法之图结构(Graph)实例分析
2017/09/05 Python
Python二叉树的定义及常用遍历算法分析
2017/11/24 Python
Django 过滤器汇总及自定义过滤器使用详解
2019/07/19 Python
python:动态路由的Flask程序代码
2019/11/22 Python
python matplotlib实现将图例放在图外
2020/04/17 Python
Pycharm常用快捷键总结及配置方法
2020/11/14 Python
matplotlib绘制多子图共享鼠标光标的方法示例
2021/01/08 Python
马来西亚领先的在线礼品店:Giftr
2018/08/23 全球购物
FC-Moto美国:欧洲最大的摩托车服装和头盔商店之一
2019/08/24 全球购物
大学生的创业计划书就该这么写
2014/01/30 职场文书
高一学生期末评语
2014/04/25 职场文书
银行委托书范本
2014/09/28 职场文书
2014年政风行风自查自纠报告
2014/10/21 职场文书
离婚协议书范文2015
2015/01/26 职场文书
2015年收银员个人工作总结
2015/04/01 职场文书
歼十出击观后感
2015/06/11 职场文书
解除处分决定书
2015/06/25 职场文书
反腐倡廉心得体会2016
2016/01/13 职场文书
《雪域豹影》读后感:父爱的伟大
2019/12/23 职场文书
Element实现动态表格的示例代码
2021/08/02 Javascript