当前位置:首页 » 编程语言 » 冒泡算法PHP

冒泡算法PHP

发布时间: 2022-08-15 19:17:52

php冒泡排序怎么排

按照你的要求,编写的冒泡排序的PHP程序如下

(注意因为键的值是字符串类型,所以按照字符大小从小到大排序)

原理是把键值对数组拆成键值的二维数组,然后根据值排序,最后再组装成键值对数组

<?php

$a=Array("a"=>"107","b"=>"5448","c"=>"522");

foreach($a as $k=>$v) $d[] = array($k, $v);

for($i=0;$i<count($d)-1;$i++){

for($j=0;$j<count($d)-1-$i;$j++){

if($d[$j][1]>$d[$j+1][1]){

$temp=$d[$j];

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

$d[$j+1]=$temp;
}

}

}

$arr = array();

foreach($d as $v) $arr[$v[0]] = $v[1];

var_mp($arr);

?>

Ⅱ php冒泡排序法~呢

$arr=array(1,43,54,62,21,66,32,78,36,76,39);
functiongetpao($arr)
{
$len=count($arr);//设置一个空数组用来接收冒出来的泡//该层循环控制需要冒泡的轮数
for($i=1;$i<$len;$i++)
{//该层循环用来控制每轮冒出一个数需要比较的次数
for($k=0;$k<$len-$i;$k++)
{if($arr[$k]>$arr[$k+1])
{
$tmp=$arr[$k+1];
$arr[$k+1]=$arr[$k];
$arr[$k]=$tmp;
}
}
}return$arr;
}

网页链接

Ⅲ 一帖看懂PHP面试必考题:什么是冒泡排序

//首先定义一个数组;
<?php
$arr=array(23,5,26,4,9,85,10,2,55,44,21,39,11,16,55,88,421,226,588);
// 计算数组的长度;
$n =count($arr);
// 外层循环n-1
for($h=0;$h<$n-1;$h++){
//内层循环n-h-1
for($i=0;$i<$n-$h-1;$i++){
//判断数组大小,颠倒位置(从小往大排序,还是从大往小)
if($arr[$i]>$arr[$i+1]){
//定义空容器$kong,然后将两个判断中大的装进去
$kong=$arr[$i+1];
//大的这时就空了,然后将小的装进去
$arr[$i+1]=$arr[$i];
//然后将小的在装到空的进去。这就实现了从小往大排序,从大往小与此相反
$arr[$i]=$kong; }
}}
最后运行结果如下:
php编程冒泡排序
完整代码粘贴如下:
//冒泡排序
$arr=array(23,5,26,4,9,85,10,2,55,44,21,39,11,16,55,88,421,226,588);
$n =count($arr);
//echo $n;
for($h=0;$h<$n-1;$h++){//外层循环n-1
for($i=0;$i<$n-$h-1;$i++){
if($arr[$i]>$arr[$i+1]){//判断数组大小,颠倒位置
$kong=$arr[$i+1];
$arr[$i+1]=$arr[$i];
$arr[$i]=$kong;
}
}
}
var_mp($arr);

Ⅳ 关于PHP冒泡排序法。

你的那个asort函数里面实现的就是类似他写的冒泡算法,排序算法有很多种。他只是用了自己写冒泡算法而已。没有像你使用了php自带的排序函数。

Ⅳ PHP 怎么用冒泡算法进行排序呢

1.你必须使用冒泡算法吗?如果不是的话,我给你一个简单点的排序方法,就是循环数组,提取出A列或者B列的值及对应的数组,使用asort()根据值大小排序就将索引顺序排好了,然后循环一遍对应到以前的数组(或者干脆赋值给一个新数组);
2.考虑到你需要对B分组,然后对组内根据A排序,建议先对A排序,然后循环数组,以每个组的b列值为键,赋给一个新的数组,类似这样:
foreach($arr as $k=>$v){
$result[$v[1]][] = $v;
}
然后按照1的方法对外层排序。

Ⅵ 用PHP如何实现冒泡排序

<?php//冒泡排序方法functionbubblesort(&$arr){
//定义一个变量保存交换的值
$temp=0;
for($i=0;$i<count($arr);$i++){
for($j=0;$j<count($arr)-$i-1;$j++){
if($arr[$j]>$arr[$j+1]){
//如果前面的那个数大于后面的那个数,那么他们就进行交换
$temp=$arr[$j];$arr[$j]=$arr[$j+1];$arr[$j+1]=$temp;
}
}
}
}
$arr=array(100,99,200,5,-4,6,-7);
bubbleSort($arr);
print_r($arr);
//数组是值传递,所以传递的时候加个&符号就是地址传递,改变外部变量?>

Ⅶ 关于php的冒泡排序,请教一个问题

你的那个asort函数里面实现的就是类似他写的冒泡算法,排序算法有很多种。他只是用了自己写冒泡算法而已。没有像你使用了php自带的排序函数。

Ⅷ 使用PHP描述冒泡排序和快速排序算法,对象可以是一个数组

这个主要就是用for循环做的:第一步是用第一个数字2和其他的数字比较:4,6,8,2然后用4和其他数字比较:6,8,4,2然后用6和其他数字比较:8,6,4,2最后就是8,6,4,2

Ⅸ 用PHP写冒泡排序法

function bubble_sort($array)
{
$count = count($array);
if($count <= 0)
{
return false;
}
for($i=0; $i<$count; $i++)
{
for($k=$count-1; $k>$i; $k--)
{
if($array[$k] < $array[$k-1])
{
$tmp = $array[$k];
$array[$k] = $array[$k-1];
$array[$k-1] = $tmp;
}
}
}
return $array;
}
$arr = array(3, 5, 1, 4, 2);
$s = bubble_sort($arr);
print_r($s);

拿去改吧

Ⅹ 用php程序编写冒泡排序、快速排序

不要做这些作业,如果你想学好PHP的话,因为PHP有更高效的函数可以直接调用完成排序,对于学习PHP来说,知道系统函数并熟练调用才是能力,冒泡法这样的浪费光阴的东西,不可能在任何一个PHP项目中使用。

热点内容
校园编程调铃 发布:2024-05-01 15:00:14 浏览:837
编译原理第三版课后习题答案文库 发布:2024-05-01 14:49:44 浏览:976
vs编译失败 发布:2024-05-01 14:42:50 浏览:722
c语言fac函数 发布:2024-05-01 14:29:49 浏览:351
编程后器件 发布:2024-05-01 14:22:21 浏览:814
yaflinux 发布:2024-05-01 13:54:42 浏览:765
恒语g666参数属于什么配置 发布:2024-05-01 13:50:13 浏览:68
frp编译openwrt 发布:2024-05-01 13:40:47 浏览:680
文件夹模糊不清晰 发布:2024-05-01 13:40:43 浏览:92
编程猫玻璃 发布:2024-05-01 13:26:53 浏览:747