全面实现PHP排序算法
来源:互联网 发布:手机淘宝装修免费模板 编辑:程序博客网 时间:2024/05/22 15:43
一般排序算法
<?
1.插入排序(一维数组)
原理:
function insert_sort($arr){
$countcount = count($arr);
for($i=1; $i<$count; $i++){
$tmp = $arr[$i];
$j = $i - 1;
while($arr[$j] > $tmp){
$arr[$j+1] = $arr[$j];
$arr[$j] = $tmp;
$j--;
}
}
return $arr;
}
2.冒泡排序
原理:
for($i=0;$i<$countNum-1;$i++){
for($j=1;$j<$countNum-$i;$j++){
if($arr1[$j-1] > $arr1[$j]){
// $logger->debug("进入冒泡了#");
$temp = $arr1[$j];
$arr1[$j] = $arr1[$j-1];
$arr1[$j-1] = $temp;
}
}
}
3.选择排序
Void SelectSort(Node L[])
{
Int i,j,k;//分别为有序区,无序区,无序区最小元素指针
For(i=0;i<length;i++)
{
k=i;
For(j=i+1;j<length;j++)
{
If(L[j]<L[k])
k=j;
}
If(k!=i)//若发现最小元素,则移动到有序区
{
Int temp=L[k];
L[k]=L[i];
L[i]=L[temp];
}
}
}
高效排序算法:
1.快速排序:
//快速排序(一维数组)
function quick_sort($array){
if (count($array) <= 1) return $array;
$key = $array[0];
$left_arr = array();
$right_arr = array();
for ($i=1; $i<count($array); $i++){
if ($array[$i] <= $key)
$left_arr[] = $array[$i];
else
$right_arr[] = $array[$i];
}
$left_arr = quick_sort($left_arr);
$right_arr = quick_sort($right_arr);
return array_merge($left_arr, array($key), $right_arr);
}
参考:http://baike.baidu.com/link?url=CxvJD4CvoiOXzsDTH34kLzjvQ00SWRXpzEJHAdWzSrwn3nDm0qveeQgoKnb0SVIw
- 全面实现PHP排序算法
- php实现排序算法
- php算法-php实现快速排序算法
- PHP实现常见排序算法
- PHP实现常见排序算法
- PHP实现常见排序算法
- PHP实现常见排序算法
- PHP实现常见排序算法
- PHP实现常见排序算法
- PHP实现各种排序算法
- PHP实现快速排序算法
- PHP实现插入排序算法
- PHP实现常见排序算法
- php实现常见排序算法
- PHP实现各种排序算法
- PHP实现各种排序算法
- PHP 排序算法实现讲解
- PHP实现 冒泡排序算法
- C# Winform应用程序占用内存较大解决方法整理
- JNDI到底是什么?书上讲的看不懂? ——JNDI入门解释篇
- 新建工程,加载别的类时出现未加“****.h”文件解决办法
- 正则表达式全部符号解释
- CString和string的互相转换
- 全面实现PHP排序算法
- Crazy Firesale
- hust oj 1628 LowerBound
- metaq的producer流程
- 开发Adobe AIR的原生扩展
- 由计算机谈最强大脑周玮
- unity3d学习笔记(十九)--ngui制作人物头顶的头像和血条
- HashMap源码浅析
- 数据库设计的三个阶段