PHP的简易冒泡算法实现代码

发布于 2014-11-18 23:15:33 | 89 次阅读 | 评论: 0 | 来源: 网友投递

PHP开源脚本语言PHP(外文名: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,入门门槛较低,易于学习,使用广泛,主要适用于Web开发领域。PHP的文件后缀名为php。

本文是一个PHP的简易冒泡算法实现代码,感兴趣的同学参考下。

function BubbleSort($str){

for($i=0;$i

for ($k=count($str)-2;$k>=$i;$k--){//将这个值向前冒泡;

if($str[$k+1]

$tmp=$str[$k+1];

$str[$k+1]=$str[$k];

$str[$k]=$tmp;

}

}

}

return $str;

}

//以下是测试

$str=array(5,8,2,6,10,0,3,12,11);

print_r(BubbleSort($str));

?>

php 冒泡排序2

基本概念是:依次比较相邻的两个数,将小数放在前面,大数放在后面。即首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。重复以上过程,仍从第一对数开始比较(因为可能由于第2个数和第3个数的交换,使得第1个数不再小于第2个数),将小数放前,大数放后,一直比较到最大数前的一对相邻数,将小数放前,大数放后,第二趟结束,在倒数第二个数中得到一个新的最大数。如此下去,直至最终完成排序。

由于在排序过程中总是小数往前放,大数往后放,相当于气泡往上升,所以称作冒泡排序。

用二重循环实现,外循环变量设为i,内循环变量设为j。外循环重复9次,内循环依次重复 9,8,...,1次。每次进行比较的两个元素都是与内循环j有关的,它们可以分别用a[j]和a[j+1]标识,i的值依次为1,2,...,9,对于每一个i, j的

值依次为1,2,...10-i。

function asc($a)

{

for($i=0;$i

{

for($j=0;$j

{

if($a[$j]>$a[$j+1])

{

$tmp=$a[$j+1];

$a[$j+1]=$a[$j];

$a[$j]=$tmp;

}

}

}

print_r($a);

}

$a = array(9,8,17,6,26,4,33,2,1);

print_r(asc($a));

?>

function desc($a)

{

$c=array();

for($i=count($a)-1;$i>0;$i--)

{

for($j=0;$j

{

if($a[$j]

{

$tmp=$a[$j+1];

$a[$j+1]=$a[$j];

$a[$j]=$tmp;

}

}

}

print_r($a);

}

$arr=array(33,24,56,55,59);

desc($arr);

?>

PHP冒泡排序法演示

以前面试的时候考官出的笔试题,觉得比较XX,写程序应该是在计算机上面,而不是在笔头上。

PHP程序文件sort_bubble_up.php

冒泡排序法演示

冒泡排序法演示

//随机生成数组

$arr=array();

echo '

初始值';

echo '

';

for($i=0;$i<10;$i++){

$arr[$i]=rand();

echo "

$arr[$i]={$arr[$i]}";

}

//进行冒泡法排序

for($i=9;$i>0;$i--){

echo '

第'.(10-$i).'次';

for($j=0;$j

if($arr[$j]

$tmp=$arr[$j];

$arr[$j]=$arr[$j+1];

$arr[$j+1]=$tmp;

}

echo '

';

for($k=0;$k<10;$k++){

switch($k){

case $j : echo '

'; break;

case $j+1 : echo '

'; break;

default : echo '

';

}

echo "$arr[$k]={$arr[$k]}

";

}

echo '

';

}

}

//显示排序结果

echo '

结果';

echo '

';

for($i=0;$i<10;$i++){

echo "

$arr[$i]={$arr[$i]}";

}

echo '

';

?>

样式表文件sort.css

h1{text-align: center; color: blue;}

table{font-size: 12px; font-family: arial; background-color: black; text-align: center;}

td{background-color: white;}

.base{background-color: #0FF;}

.light{background-color: #0DD;}

.title{background-color: #3FF; text-align: center;}

相关阅读:

PHP的简易冒泡算法实现代码

php 数组动态添加实现代码(最土团购系统的价格排序)

PHP二维数组的按照字母排序实现代码

PHP 各种排序算法实现代码

php实现的mysql数据库备份实现代码

php 一维数组的循环遍历实现代码

php 中奖概率算法实现代码

php中简单的对称加密算法实现

php使用高斯算法实现图片的模糊处理功能示例

一组PHP可逆加密解密算法示例代码

php的一个简单加密解密代码

php-perl哈希算法实现(times33哈希算法)示例

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐