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

yipeiwu_com6年前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);

相关文章

php array 转json及java 转换 json数据格式操作示例

本文实例讲述了php array 转json及java 转换 json数据格式操作。分享给大家供大家参考,具体如下: php array 转json 数据 $arr = array(...

jQuery+PHP发布的内容进行无刷新分页(Fckeditor)

jQuery+PHP发布的内容进行无刷新分页(Fckeditor)

这篇文章将使用jQuery,并结合PHP,将Fckeditor发布的内容进行分页,并且实现无刷新切换页面。  本文假设你是WEB开发人员,掌握了jQuery和PHP相关知识,并...

PHP反射机制原理与用法详解

本文实例讲述了PHP反射机制原理与用法。分享给大家供大家参考,具体如下: 反射 面向对象编程中对象被赋予了自省的能力,而这个自省的过程就是反射。 反射,直观理解就是根据到达地找到出发地和...

php中动态调用函数的方法

本文实例讲述了php中动态调用函数的方法。分享给大家供大家参考。具体分析如下: php中你可以动态调用函数,分为以下步骤: 1. 定义一个函数 2. 将函数名(字符串)赋值给一个变量...

php设计模式 Proxy (代理模式)

代理,指的就是一个角色代表另一个角色采取行动,就象生活中,一个红酒厂商,是不会直接把红酒零售客户的,都是通过代理来完成他的销售业务。而客户,也不用为了喝红酒而到处找工厂,他只要找到厂商在...