首页 >

PHP冒泡算法详解(递归实现),冒泡递归

后端开发|php教程PHP冒泡算法详解(递归实现),冒泡递归
PHP,冒泡算法,递归,冒泡排序
后端开发-php教程
PHP冒泡算法详解(递归实现),冒泡递归
排班软件源码,vscode代码提醒插件,ubuntu 光盘修复,tomcat诞生的意义,unsplash 爬虫,php 网络直播,阳泉网络营销seo,怎么在网站上制作自动弹出客服,php源码模板lzw
实现
网站源码记忆,Ubuntu远程唤醒电脑,nodejs爬虫跨域,php mysql批量,seo投放项目lzw
/*
冒泡算法(递归实现)
*/
人事管理系统项目源码,ubuntu裁剪手机系统,tomcat双应用启动脚本,怎样学好爬虫技术,服务器php脚本语言,用户行为seolzw
function maoPao($array, $index=0)
{
$count = count($array);
if(($count-1) <= $index)
return $array;

for($i=$count-1; $i>$index; $i– )
{
if($array[$i] < $array[$i-1])
{
$tmp = $array[$i];
$array[$i] = $array[$i-1];
$array[$i-1] = $tmp;
}
}
$index++;
return maoPao($array, $index);
//return maoPao($array, $index++);
}

$arr = array(12,4,3,1,9,5,6,8,7);
var_dump(maoPao($arr));

结果:

Array ( [0] => 1 [1] => 3 [2] => 4 [3] => 5 [4] => 6 [5] => 7 [6] => 8 [7] => 9 [8] => 12 )

问题:

在尝试这个实现的时候遇到了一个问题,还未解决。
在这里:

$index++;
return maoPao($array, $index);
//return maoPao($array, $index++);

/******************
如果直接使用第三行,而不是先$index++,再ruturn的话就会进入死循环.我在函数的开始输出$index,都是0,就是说$index++后传递给递归函数的参数不是$index++应该的结果(即$index=$index+1).
maoPao($array, $index++)不是$index++; return maoPao($array, $index);的简短写法吗,为何两种结果不一样,希望能得到各位的解答。
******************/

补充:

解答:

$index++与++$index两者的区别, $index++被称作后增量, ++$index被称为前增量, 虽然最后的$index的结果都是会+1。 但传递变量的时候会有不一样的地方。

$index = 1;
$m = $index++;
echo $index.’
‘; //结果为2
echo $m.’
‘; //结果为1. 因为是后增量, 会先把初始的$index=1 赋给$m,然后$index自增1;

$index = 1;
$n = ++$index;
echo $index.’
‘; //结果为2
echo $n; //结果为2.因为是前增量, 会先执行$index+1的操作, 再赋值给$n;

这个可能不太好记住, 所以在使用的时候一定要注意, 在上面的问题中我就是忽略了这个问题导致了$index无限传递0值使得递归锁死。

http://www.liuzhongwei.com/PHPjc/909346.htmlwww.liuzhongwei.comtruehttp://www.liuzhongwei.com/PHPjc/909346.htmlTechArticlePHP冒泡算法详解(递归实现),冒泡递归 实现 复制代码 代码如下: /* 冒泡算法(递归实现) */ function maoPao($array, $index=0) { $count = count($array)…

PHP冒泡算法详解(递归实现),冒泡递归
  • Javascript冒泡排序算法详解
  • Javascript冒泡排序算法详解 | Javascript冒泡排序算法详解 ...

    PHP冒泡算法详解(递归实现),冒泡递归
  • 关于冒泡和快速排序的代码案例
  • 关于冒泡和快速排序的代码案例 | 关于冒泡和快速排序的代码案例 ...

    PHP冒泡算法详解(递归实现),冒泡递归
  • php 冒泡排序 交换排序法【PHP】
  • php 冒泡排序 交换排序法【PHP】 | php 冒泡排序 交换排序法【PHP】 ...