加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php实现插入排序

发布时间:2020-12-13 02:31:50 所属栏目:PHP教程 来源:网络整理
导读:《:php实现插入排序》要点: 本文介绍了:php实现插入排序,希望对您有用。如果有疑问,可以联系我们。 ?php/** * 插入排序 * @param Array $a 无序集合 * @return Array 有序集合 */function insertSort($a) { $temp; $i; $j; $size_a = count($a); # 从第

《:php实现插入排序》要点:
本文介绍了:php实现插入排序,希望对您有用。如果有疑问,可以联系我们。

<?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 %sn",implode(" ",$a));
echo sprintf("Sorted list %sn",insertSort($a)));

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

欢迎参与《:php实现插入排序》讨论,分享您的想法,编程之家 52php.cn为您提供专业教程。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读