四种常见的数组排序方法(php实现)
来源:互联网 发布:自考软件哪个好 编辑:程序博客网 时间:2024/06/07 01:30
一、名称
- 冒泡排序
- 选择排序
- 插入排序
- 快速排序
二、实现
<?php//冒泡 function bubbleSort(Array $a){ $len=count($a); for($i=1;$i<$len;$i++){ for($j=0;$j<$len-$i;$j++){ if($a[$j]>$a[$j+1]){//如果i位比i+1大,则交换 $a[$j]=$a[$j]+$a[$j+1]; $a[$j+1]=$a[$j]-$a[$j+1]; $a[$j]=$a[$j]-$a[$j+1]; } } } return $a; } //选择排序 function selectSort(Array $a){ $len=count($a); for($i=0;$i<$len-1;$i++){ $p=$i; for($j=$i+1;$j<$len;$j++){ if($a[$p]>$a[$j]){ $p=$j; } } if($p!=$i){//不是本身则交换 $a[$i]=$a[$i]+$a[$p]; $a[$p]=$a[$i]-$a[$p]; $a[$i]=$a[$i]-$a[$p]; } } return $a; } //插入排序 function insertSort(Array $a){ $len=count($a); for($i=1;$i<$len;$i++){ $tmp=$a[$i]; for($j=$i-1;$j>=0;$j--){ if($tmp<$a[$j]){ $a[$j+1]=$a[$j]; $a[$j]=$tmp; }else{ break; } } } return $a; } //快速排序 function quickSort(Array $a){ $len=count($a); if($len<=1){//如果元素个数少于一个,则直接返回 return $a; } $left_array=[]; $right_array=[]; $base_num=$a[0];//以第一个数为基准 for($i=1;$i<$len;$i++){ if($a[$i]>=$base_num){ $right_array[]=$a[$i]; }else{ $left_array[]=$a[$i]; } $left_array=quickSort($left_array); $right_array=quickSort($right_array); } return array_merge($left_array,[$base_num],$right_array); } $a=[7,10,5,55,44,33];//原始数组 $start=microtime(true); print_r(quickSort($a)); $end=microtime(true); echo memory_get_usage(true).'<br/>';//内存使用情况 echo $end-$start;//获取运行时间
结束:
有必要重新看下算法了![这里写图片描述](http://img.blog.csdn.net/20150409152519075)
参考 伯乐在线-PHP实现四种基本排序算法
0 0
- 四种常见的数组排序方法(php实现)
- 数组排序的常见方法
- PHP实现几种常见的排序
- 数组的四种排序方法
- java数组的四种排序方法
- 【整理】常见的数组排序方法以及代码实现
- PHP的四种基本排序方法
- PHP四种常见排序算法
- 四种常见排序算法--PHP版本
- PHP数组几种常见的排序方式
- php四种排序方法
- PHP四种排序方法
- PHP 四种排序方法
- 几种常见的排序方法(C语言实现)
- 排序算法的数组实现 -- 快速排序(四)
- PHP实现二维数组按某列进行排序的方法
- 常见排序算法的实现(四)
- PHP关于数组的四种基础排序
- android EditText输入限制
- c++中怎样将字符数组转化成字符串变量
- 理解Linux系统负荷
- leetcode011:Container With Most Water
- <c:forTokens> 标签
- 四种常见的数组排序方法(php实现)
- php正则表达式的基本语法
- 一致性哈希(consistent hash)
- myeclipse 环境配置
- wampserver提示You don't have permission to access / on this server
- 《测试驱动开发》学习笔记
- 压缩图片
- Oracle 释放用户锁表
- 工作日志4-9