PHP冒泡排序算法
Posted php中文网最新课程
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP冒泡排序算法相关的知识,希望对你有一定的参考价值。
源 / php中文网 源 / www.php.cn
在前面的文章中,我们给大家介绍了PHP算法系列之《》。今天我们继续为大家讲解常见的PHP算法系列的相关知识点,即PHP冒泡排序算法。
(视频版请点击本文末尾左下角:阅读原文)
冒泡排序,相信对于编程人员来说并不陌生。冒泡排序算法简单来说就是依次比较相邻的两个数,然后根据大小做出排序,直至最后两位数。
那么之所以称为“冒泡排序”算法是因为越大的元素会经由交换慢慢“浮”到数列的顶端(升序或降序排列),就如同碳酸饮料中二氧化碳的气泡最终会上浮到顶端一样。
下面我们就结合具体的代码示例,给大家介绍PHP冒泡排序算法的实现。(以下是升序排列,即从小到大排列)
代码示例如下:
<?php
function
maopao(
$arr
){
$len
=
count
(
$arr
);
for
(
$k
=0;
$k
<=
$len
;
$k
++)
{
for
(
$j
=
$len
-1;
$j
>
$k
;
$j
--){
if
(
$arr
[
$j
]<
$arr
[
$j
-1]){
$temp
=
$arr
[
$j
];
$arr
[
$j
] =
$arr
[
$j
-1];
$arr
[
$j
-1] =
$temp
;
}
}
}
return
$arr
;
}
$arr
= [2,6,2,8,2,34,5,9,2341,23];
var_dump(maopao(
$arr
));
这里我们定义了一个maopao方法,首先我们通过count函数统计出指定数组的总长度。 然后使用双重for循环语句循环遍历数组元素并逐一比较,那么外层for循环就是用来控制循环轮次;内层for循环就是控制每轮的比较次数,并且在每轮比较后选出最大的一个值放在最后。
注意:这里我们通过临时变量$temp介质来存贮$j的值,以此循环比较两个相邻的元素,并把大的值放在后面。
输出:
array
(size=10)
0 => int 2
1 => int 2
2 => int 2
3 => int 5
4 => int 6
5 => int 8
6 => int 9
7 => int 23
8 => int 34
9 => int 2341
总结冒泡排序的算法原理:对一组数据,比较相邻数据的大小,将值小数据在前面,值大的数据放在后面。
本篇文章就是关于PHP冒泡排序算法的介绍,在下篇文章《PHP冒泡排序算法(二)》中,我们将通过Xdebug为大家更直观地调试运行冒泡排序算法的实现过程。
-END-
声明:本文选自「 php中文网 」,搜索「 phpcnnew 」即可关注!
▼请点击下方:“阅读原文”,在线查看全部文章内容!
以上是关于PHP冒泡排序算法的主要内容,如果未能解决你的问题,请参考以下文章