最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

php如何实现排序算法

来源:动视网 责编:小采 时间:2020-11-02 18:22:24
文档

php如何实现排序算法

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


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

php实现排序算法的方法:

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、选择排序:

选定一个作为基本值,剩下的和这个比较,然后调换位置。

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编程(视频)

文档

php如何实现排序算法

php如何实现排序算法:php实现排序算法的方法:1、冒泡排序,两两相比,每循环一轮就不用再比较最后一个元素;2、选择排序,选定一个作为基本值,剩下的和这个比较,再调换位置。php实现排序算法的方法:1、冒泡排序:两两相比,每循环一轮就不用再比较最后一个元素了,因为最后一
推荐度:
标签: php 实现 进行排序
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top