PHP 数据结构 算法描述 冒泡排序 bubble sort

yipeiwu_com5年前PHP代码库
复制代码 代码如下:

<?php
/**
* 冒泡排序 bubble sort
*
* 原理:多次循环进行比较,每次比较时将最大数移动到最上面。每次循环时,找出剩余变量里的最大值,然后减小查询范围。这样经过多次循环以后,就完成了对这个数组的排序
*/
function sort_bubble($list)
{
$len = count($list);
if(empty($len)) return $list;

for($i = 0;$i < $len; $i++)
{
for($j = $i + 1; $j < $len; $j++)
{
$flag = '';
if($list[$i] > $list[$j]) // 从小到大
//if($list[$i] < $list[$j]) // 从大到小
{
$tmp = $list[$i];
$list[$i] = $list[$j];
$list[$j] = $tmp;

$flag = " change";
}
echo implode(',',$list).$flag."<br/>";
}
echo "-------------------------<br/>";
}
return $list;
}

$list = array(4,3,2,1,5,7,3,7);
$list = sort_bubble($list);

相关文章

pw的一个放后门的方法分析

pw的一个放后门的方式 data\bbscache\admin_record.php是记录后台登陆和操作的,我们看看是怎么操作这个文件的: admin\admincp.php: $bbs...

PHP获取栏目的所有子级和孙级栏目的ID号示例

复制代码 代码如下: //@获取子栏目ID号 private function sonCategoryIds($categoryID) { //@初始化栏目数组 $array[] = $...

php中英文混合字符串截取问题

但是在英文和汉字混合的情况下会出现如下问题: 如果有这样一个字符串 $str="这是一个字符串";为了截取该串的前10个字符,使用 if(strlen($str)>...

php数组函数序列之array_unshift() 在数组开头插入一个或多个元素

array_unshift()定义和用法 array_unshift() 函数在数组开头插入一个或多个元素。 被加上的元素作为一个整体添加,这些元素在数组中的顺序和在参数中的顺序一样。...

PHP中生成UUID自定义函数分享

UUID 全称是 Universally unique identifier,它是一种识别符,使用任意的计算机都可以生成,不需要一个中央数据库进行管理,即可以保证几乎没有重复的几率。而...