如何用PHP实现插入排序?

 更新时间:2013年04月10日 14:44:33   作者:  
本篇文章,小编为大家介绍一下关于如何用PHP实现插入排序的方法,有需要的朋友可以参考一下

插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数据。

算法描述:

⒈ 从第一个元素开始,该元素可以认为已经被排序

⒉ 取出下一个元素,在已经排序的元素序列中从后向前扫描

⒊ 如果该元素(已排序)大于新元素,将该元素移到下一位置

⒋ 重复步骤3,直到找到已排序的元素小于或者等于新元素的位置

⒌ 将新元素插入到下一位置中

⒍ 重复步骤2

复制代码 代码如下:

<?php

$arr =array(123,0,5,-1,4,15);

function insertSort(&$arr){

//先默认第一个下标为0的数是排好的数
for($i=1;$i<count($arr);$i++){
//确定插入比较的数
$insertVal=$arr[$i];
//确定与前面比较的数比较
$insertIndex=$i-1;

//表示没有找到位置
while($insertIndex>=0 && $insertVal<$arr[$insertIndex]){

//把数后移
$arr[$insertIndex+1]=$arr[$insertIndex];
$insertIndex--;
}

//插入(给$insertval找到位置了)
$arr[$insertIndex+1] = $insertVal;
}
}

insertSort($arr);
print_r($arr);
?>

相关文章

  • php实现姓名根据首字母排序的类与方法(实例代码)

    php实现姓名根据首字母排序的类与方法(实例代码)

    这篇文章主要介绍了php实现姓名根据首字母排序的类与方法,代码简单易懂,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧
    2018-05-05
  • CI框架封装的常用图像处理方法(缩略图,水印,旋转,上传等)

    CI框架封装的常用图像处理方法(缩略图,水印,旋转,上传等)

    这篇文章主要介绍了CI框架封装的常用图像处理方法,涉及针对图像的缩略图、水印、旋转、上传等操作,需要的朋友可以参考下
    2016-11-11
  • Smarty模板类内部原理实例分析

    Smarty模板类内部原理实例分析

    这篇文章主要介绍了Smarty模板类内部原理,结合实例形式模拟Smarty模板类的定义与应用,需要的朋友可以参考下
    2019-07-07
  • Laravel使用支付宝进行支付的示例代码

    Laravel使用支付宝进行支付的示例代码

    本篇文章主要介绍了Laravel使用支付宝进行支付的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08
  • PHP之密码加密的几种方式

    PHP之密码加密的几种方式

    这篇文章主要是针对PHP实现密码加密的几种方式的详细介绍,有需要的朋友可以参考下本文。
    2015-07-07
  • ThinkPHP分页类使用详解

    ThinkPHP分页类使用详解

    当网站的留言内容越来越多的时候,分页功能的应用就应运而生了,本文我们就来重点讲解下ThinkPHP框架自带的分页类的调用
    2014-03-03
  • 利用PHP获取汉字首字母并且分组排序详解

    利用PHP获取汉字首字母并且分组排序详解

    这篇文章主要给大家介绍了关于如何利用PHP获取汉字首字母并且分组排序的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用php具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2017-10-10
  • php计算多个集合的笛卡尔积实例详解

    php计算多个集合的笛卡尔积实例详解

    笛卡尔积又叫笛卡尔乘积,是一个叫笛卡尔的人提出来的。 简单的说就是两个集合相乘的结果。具体的定义要看看有关代数系的书的定义。这篇文章主要给大家介绍了利用php计算多个集合的笛卡尔积的方法实例,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-02-02
  • WordPress过滤垃圾评论的几种主要方法小结

    WordPress过滤垃圾评论的几种主要方法小结

    不仅是中文的,WordPress用户经常还会受到英文日文等各种国外垃圾评论的骚扰,这里我们就来看一下WordPress过滤垃圾评论的几种主要方法小结:
    2016-07-07
  • PHP单例模式详解及实例代码

    PHP单例模式详解及实例代码

    本文介绍PHP单例模式,文中讲解了单例模式的概念、单例模式的特点、使用单例模式的原因及场景及PHP单例模式代码实例,需要的码农可以参考下
    2016-12-12

最新评论