php 二维数组快速排序算法的实现代码

 更新时间:2017年10月17日 14:23:41   作者:xingjigongsi  
这篇文章主要介绍了php 二维数组快速排序算法的实现代码的相关资料,希望通过本文能帮助到大家,让大家实现这样的功能,需要的朋友可以参考下

php 二维数组快速排序算法的实现代码

二维数组排序算法与一维数组排序算法基本理论都是一样,都是通过比较把小的值放在左变的数组里,大的值放在右边的数组里在分别递归。

实例代码:

<?php 
class Bubble { 
  private function __construct() { 
  } 
  private static function sortt($data) { 
    if (count ( $data ) <= 1) { 
     return $data; 
    } 
    $tem = $data [0]['score']; 
    $leftarray = array (); 
    $rightarray = array (); 
    for($i = 1; $i < count ( $data ); $i ++) { 
      if ($data [$i]['score'] <= $tem ) { 
        $leftarray[] = $data[$i]; 
      } else { 
        $rightarray[] = $data[$i]; 
      } 
    } 
    $leftarray=self::sortt($leftarray); 
    $rightarray=self::sortt($rightarray); 
    $sortarray = array_merge ( $leftarray, array ($data[0]), $rightarray ); 
    return $sortarray; 
  } 
  public static function main($data) { 
    $ardata = self::sortt ( $data ); 
    return $ardata; 
  } 
} 
 
$arr=array( 
  array('sid'=>1,'score'=>76), 
  array('sid'=>2,'score'=>93), 
  array('sid'=>3,'score'=>68.5), 
  array('sid'=>4,'score'=>82.5), 
  array('sid'=>5,'score'=>60.5) 
); 
print_r(Bubble::main($arr)); 

如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

相关文章

  • thinkPHP框架中执行事务的方法示例

    thinkPHP框架中执行事务的方法示例

    这篇文章主要介绍了thinkPHP框架中执行事务的方法,结合实例形式分析了thinkPHP框架中使用模型中封装的startTran()、Commit()及Rollback()方法执行事务与回滚操作相关实现技巧,需要的朋友可以参考下
    2018-05-05
  • 文件上传之SWFUpload插件(代码)

    文件上传之SWFUpload插件(代码)

    这篇文章主要介绍了文件上传之SWFUpload插件(代码),实现此代码主要分为两部分:1.前台文件index.html和 2.后台文件upload.php,需要的朋友可以参考下
    2015-07-07
  • php文件上传类的分享

    php文件上传类的分享

    这篇文章主要为大家分享了php文件上传类的相关代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-07-07
  • ThinkPHP中获取指定日期后工作日的具体日期方法

    ThinkPHP中获取指定日期后工作日的具体日期方法

    在本文中,我们给大家带来的是关于ThinkPHP中获取指定日期后工作日的具体日期的方法以及实例代码,有需要的朋友们学习下。
    2018-10-10
  • PHP读取文件的常见几种方法

    PHP读取文件的常见几种方法

    这篇文章主要介绍了PHP读取文件的常见几种方法,本文总结了PHP中读取文件的方法,每一个都附有使用例子等,需要的朋友可以参考下。
    2016-11-11
  • ThinkPHP3.1新特性之对分组支持的改进与完善概述

    ThinkPHP3.1新特性之对分组支持的改进与完善概述

    这篇文章主要介绍了ThinkPHP3.1对分组支持的改进,需要的朋友可以参考下
    2014-06-06
  • Yii2.0中的COOKIE和SESSION用法

    Yii2.0中的COOKIE和SESSION用法

    Yii2的Cookie主要是通过yii/web/Request和yii/web/Response进行操作的,Yii2的Session比较简单 ,直接通过/Yii::$app->session进行操作就好了。本文给大家介绍COOKIE和SESSION用法,需要的朋友参考下
    2016-08-08
  • Drupal7中常用的数据库操作实例

    Drupal7中常用的数据库操作实例

    Drupal 7 提供的新功能其中一个就是可以使用 Query Builder and Query Objects 查询生成器来构造查询对象的能力,无需在代码中写原始的SQL语句,一是提高了代码可阅读性,二是兼容所有数据库
    2014-03-03
  • 基于Laravel5.4实现多字段登录功能方法示例

    基于Laravel5.4实现多字段登录功能方法示例

    最近在工作中遇到一个需求,需要实现多字段登录的一个效果,就是可以使用手机或者邮箱任一种方式的登录,现在将解决的过程分享出来,所以这篇文章主要给大家介绍了基于Laravel5.4实现多字段登录功能的相关资料,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-08-08
  • PHP实现生成透明背景的PNG缩略图函数分享

    PHP实现生成透明背景的PNG缩略图函数分享

    这篇文章主要介绍了PHP实现生成透明背景的PNG缩略图函数分享,需要的朋友可以参考下
    2014-07-07

最新评论