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 相关文章推荐
smarty section简介与用法分析
Oct 03 PHP
php提交表单时判断 if($_POST[submit])与 if(isset($_POST[submit])) 的区别
Feb 08 PHP
php产生随机数的两种方法实例代码 输出随机IP
Apr 08 PHP
thinkphp获取栏目和文章当前位置的方法
Oct 29 PHP
php数组函数array_key_exists()小结
Dec 10 PHP
Zend Framework实现具有基本功能的留言本(附demo源码下载)
Mar 22 PHP
php opendir()列出目录下所有文件的实例代码
Oct 02 PHP
thinkPHP简单调用函数与类库的方法
Mar 15 PHP
PHP使用Nginx实现反向代理
Sep 20 PHP
PHP中in_array的隐式转换的解决方法
Mar 06 PHP
深入理解 PHP7 中全新的 zval 容器和引用计数机制
Oct 15 PHP
如何用PHP websocket实现网页实时聊天
May 26 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
全国FM电台频率大全 - 21 海南省
2020/03/11 无线电
PHP实现采集程序原理和简单示例代码
2007/03/18 PHP
php MYSQL 数据备份类
2009/06/19 PHP
PHP CURL模拟GET及POST函数代码
2010/04/25 PHP
php获取远程文件大小
2015/10/20 PHP
php利用ob_start()清除输出和选择性输出的方法
2018/01/18 PHP
js中cookie的添加、取值、删除示例代码
2013/10/21 Javascript
封装了jQuery的Ajax请求全局配置
2015/02/05 Javascript
js面向对象之公有、私有、静态属性和方法详解
2015/04/17 Javascript
js中的触发事件对象event.srcElement与event.target详解
2017/03/15 Javascript
JS中Swiper的使用和轮播图效果
2017/08/11 Javascript
element-ui 关于获取select 的label值方法
2018/08/24 Javascript
Vue el-autocomplete远程搜索下拉框并实现自动填充功能(推荐)
2019/10/25 Javascript
javascript实现异形滚动轮播
2019/11/28 Javascript
JS操作Fckeditor的一些常用方法(获取、插入等)
2020/02/19 Javascript
[01:26]神话结束了,却也刚刚开始——DOTA2新英雄玛尔斯驾临战场
2019/03/10 DOTA
对Python进行数据分析_关于Package的安装问题
2017/05/22 Python
Python SQLite3简介
2018/02/22 Python
基于python3 OpenCV3实现静态图片人脸识别
2018/05/25 Python
Python实现的个人所得税计算器示例
2018/06/01 Python
pandas将numpy数组写入到csv的实例
2018/07/04 Python
全网首秀之Pycharm十大实用技巧(推荐)
2020/04/27 Python
Python 字典中的所有方法及用法
2020/06/10 Python
Python3+Appium安装及Appium模拟微信登录方法详解
2021/02/16 Python
纯CSS打造(无图像无js)的非常流行的讲话(语音)气泡效果
2012/12/28 HTML / CSS
html5 web本地存储将取代我们的cookie
2012/12/26 HTML / CSS
英国女装网上商店:I Saw It First
2018/10/18 全球购物
英国床垫和床架购物网站:Bedman
2019/11/04 全球购物
院药学专业个人求职信
2013/09/21 职场文书
企业为何需要商业计划书
2013/12/26 职场文书
护理学专业求职信
2014/06/29 职场文书
安全保证书格式
2015/02/28 职场文书
领导干部失职检讨书
2015/05/05 职场文书
2015年大学教师工作总结
2015/05/20 职场文书
开学典礼校长致辞
2015/07/29 职场文书
退休劳动合同怎么写?
2019/10/25 职场文书