php实现排序算法的方法:1、冒泡排序,两两相比,每循环一轮就不用再比较最后一个元素;2、选择排序,选定一个作为基本值,剩下的和这个比较,再调换位置。

1、冒泡排序:
两两相比,每循环一轮就不用再比较最后一个元素了,因为最后一个元素已经是最大或者最小。
function maopaoSort ($list)
{
$len = count($list);
for ($i = 0; $i < $len - 1; $i++) {
for ($j = 0; $j < $len - $i - 1; $j++) {
if ($list[$j] > $list[$j + 1]) {
$tmp = $list[$j];
$list[$j] = $list[$j + 1];
$list[$j + 1] = $tmp;
}
}
}
return $list;
}2、选择排序:
立即学习“PHP免费学习笔记(深入)”;
选定一个作为基本值,剩下的和这个比较,然后调换位置。
请注意以下说明:1、本程序允许任何人免费使用。2、本程序采用PHP+MYSQL架构编写。并且经过ZEND加密,所以运行环境需要有ZEND引擎支持。3、需要售后服务的,请与本作者联系,联系方式见下方。4、本程序还可以与您的网站想整合,可以实现用户在线服务功能,可以让客户管理自己的信息,可以查询自己的订单状况。以及返点信息等相关客户利益的信息。这个功能可提高客户的向心度。安装方法:1、解压本系统,放在
function xuanzeSort ($list)
{
$len = count($list);
for ($i = 0; $i < $len - 1; $i++) {
$pos = $i;
for ($j = $i + 1; $j < $len; $j++) {
if ($list[$pos] > $list[$j]) {
$pos = $j;
}
}
if ($pos != $i) {
$tmp = $list[$pos];
$list[$pos] = $list[$i];
$list[$i] = $tmp;
}
}
return $list;
}3、快速排序:
原理就是拿出一个标尺值,然后分为左右两个数组,分别对比
function kuaisuSort ($list)
{
$len = count($list);
if ($len <= 1) {//递归出口
return $list;
}
$base = $list[0];//选择一个比较值
$leftList = $rightList = [];
for ($i = 1; $i < $len; $i++) {
if ($base > $list[$i]) {
$leftList[] = $list[$i];
} else {
$rightList[] = $list[$i];
}
}
//递归分别再处理左右两边的数组
$leftList = kuaisuSort($leftList);
$rightList = kuaisuSort($rightList);
return array_merge($leftList, [$base], $rightList);
}4、插入排序:
假设前面的数都是排好顺序的,要把第n个数插入到有序里
function charuSort ($list)
{
$len = count($list);
for ($i = 1; $i < $len; $i++) {
$tmp = $list[$i];//获取对比元素
for ($j = $i - 1; $j > 0; $j--) {
if ($list[$j] > $tmp) {
$list[$j + 1] = $list[$j];
$list[$j] = $tmp;
} else {
break;
}
}
}
return $list;
}相关学习推荐:php编程(视频)










