首页 >每日编程 >PHP知识 > 正文

PHP冒泡排序算法(二)

原创2019-02-28 09:09:2704865
在前面的文章《PHP冒泡排序算法(一)》中,我们结合了具体的代码示例,为大家介绍了PHP冒泡排序算法,想必大家都对此有了一定的了解。

下面我们就给大家介绍如何通过Xdebug更直观地调试运行冒泡排序算法的实现过程。

代码如下:

<?php
function maopao($arr){
    $len = count($arr);

    for($k=0;$k<=$len;$k++)
    {
        for($j=$len-1;$j>$k;$j--){
            if($arr[$j]<$arr[$j-1]){
                $temp = $arr[$j];
                $arr[$j] = $arr[$j-1];
                $arr[$j-1] = $temp;
            }
        }
    }
    return $arr;
}
$arr = [8,2,34,5];

var_dump(maopao($arr));

首先我们在以下位置创建一个断点并在前台运行此代码。

d532c6eea3da213cba68f34f82db25b.png

然后点击向下运行的箭头。

f37465c5d323be4db3a18fa1e511128.png

每向下进行一步就会调试出当前代码段的运行结果,如下。

dbc0d2d30b7075a7e196183e08df82a.png


378b78170f1d67b06524032430a1991.png

相邻的两个元素比较,临时赋值并将大的值放在后面。

5466392cf5760af1ec71791b43b183a.png

921368cefd543139554ae778fcad0cd.png

如此循环,就可以得出冒泡算法的排序结果。

如下:

array (size=4)
  0 => int 2
  1 => int 5
  2 => int 8
  3 => int 34

相关推荐:《PHPStorm怎么配置xdebug工具并使用

本篇文章关于PHP冒泡排序算法的介绍就到这里,简单易懂,希望对需要的朋友有所帮助!

以上就是PHP冒泡排序算法(二)的详细内容,更多请关注php中文网其它相关文章!

php中文网最新课程二维码
  • 相关标签:PHP冒泡排序算法
  • 本文原创发布php中文网,转载请注明出处,感谢您的尊重!
  • 相关文章

    相关视频


    网友评论

    文明上网理性发言,请遵守 新闻评论服务协议

    我要评论
  • ,是一种计机科学领域的较简单的,它重复地走访过要的元素列,依次比较两个相邻的元素,如果顺【如从大到小、首字母从Z到A】错误就把他们交换过来。
    代码是【for (j = 0; j < len - 1; j++) for (i = 0; i < len - 1 - j; i++) if(arr[i] > arr[i
    是一种计机科学领域的比较简单的。它重复地走访过要的元素列,依次比较两个相邻的元素,如果顺(如从大到小、首字母从Z到A)错误就把它们交换过来。
    今天给大家分享一些关于C语言的,选择。下面就让我们一起看看选择的具体用吧。
    java实现的方:首先是通过一次遍历获取最大或最小值;然后将最大值或最小值放在尾部或头部;接着除开最大值或最小值,将剩下的数据再进行遍历获取最大或最小值;最后依次完成每个数即可。
    许多人都说 是程的核心,一个程的好于差,关键是这个程的优劣。作为一个初级phper,虽然很少接触到方面的东西 。
    交换和快速这两种,是一种计机科学领域的较简单的,​时间复杂度是“O(N2)”,而快速是对的一种改进,时间复杂度是“O(Nlog2N)”。
    基本思想是“比较列中的相邻数据项,如果存在逆则进行互换,重复进行直到有”;是一种计机科学领域的较简单的,这个的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端
    python有:插入、选择、快速、归并、希尔、基数、计数、堆、桶等。
    PHP有多种,常见的有:、交换、选择、插入、快速
    本文介绍PHP维数组保持键名不变的方,有需要的朋友可以学习一下。
    java数组:1、使用Arrays.sort(),Arrays.sort()在java中是最简单且最常用的。2、。3、选择。4、反转
    php有:1、,即每当两相邻的数比较后发现它们的要求相反时,就将它们互换;2、选择 ;3、插入,即把第n个数插到前面的有数中,使得这n个数也是好顺的;4、快速
    基础有:1、选择,分为“简单选择”和“堆”;2、插入,分为“简单插入”和“希尔”;3、交换,分为“”和“快速”;4、​归并;5、基数
    是一种计机科学领域的较简单的,它重复地走访过要的元素列,依次比较两个相邻的元素,如果顺错误就把他们交换过来,走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经完成
    本文通过java入门栏目为大家介绍实现单词按首字母的方。首先可以将键盘输入的单词输入到“String”数组中,然后使用比较单词字典即可。
    1、我们需要对数组中每两个,前后进行比较,如果前面小于后面的,就进行兑换位置;2、因为是两个一比较,所以我们需要比较count($arr) - 1 轮,因为每一轮比较下来,都可以确定一个最大的值,所以每一轮就会减少一次。
    c语言的方:首先随机选定一个数;接着用该数字与另一个数两两进行比较,得到两者之间的最大值;然后由此依次比较;最后实现数字从大到小即可。
    快速是对的一种改进,其实现原理是将未元素根据一个作为基准的“主元”分为两个子列,其中一个子列的记录均大于主元,而另一个子列均小于主元,然后递归地对这两个子列用类似的方进行
    快速:首先每次的时候设置一个基准点,将小于等于基准点的数全部放到基准点的左边;然后将大于等于基准点的数全部放到基准点的右边;最后在每次交换的时候就不会像一样每次只能在相邻的数之间进行交换

    专题推荐

    推荐视频教程
  • PHP每日小知识(第二季)PHP每日小知识(第二季)
  • PHP语法基础与数据库详解教程PHP语法基础与数据库详解教程
  • PHP数据库编程零基础入门到精通PHP数据库编程零基础入门到精通
  • PHP经典算法面试题PHP经典算法面试题
  • 视频教程分类