文章 > PHP > php冒泡排序是什么意思

php冒泡排序是什么意思

头像

小妮浅浅

2021-02-08 17:24:30886浏览 · 0收藏 · 0评论

在php的排序方法中,有一种排序可以和生活中的理念结合在一起。我们观察泡泡往上升的时候,从下到上的泡泡是越来越大的,所以冒泡排序的理念正式如此,同时也是它名称的由来。下面我们就冒泡排序的概念和原理进行详细的介绍,然后带大家在实例中体会冒泡排序的用法。

1.冒泡排序概念

php冒泡排序法是计算机中的一种简单的排序算法。在对数组排序时会根据数组的长度重复的去比较数组中的值,如果顺序不对就把两个数据位置进行对调,一直比较到没有需要交换的值为止完成排序。

2.冒泡排序原理

(1)比较相邻的元素。如果第一个比第二个大,就交换他们两个。

(2)对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。

(3)针对所有的元素重复以上的步骤,除了最后一个。

(4)持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

3.实例

<?php
/*
* 思路:
* 它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。
* 走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。
*/
function BubbleSort($arr){
     $count = count($arr);
     $temp = 0;
    //外层控制排序轮次
     for($i=0; $i<$count-1; $i++){
         //内层控制每轮比较次数
         for($j=0; $j< $count-1-$i; $j++){
               if($arr[$j] > $arr[$j+1]){
                   $temp        = $arr[$j];
                   $arr[$j]     = $arr[$j+1];
                   $arr[$j+1]   = $temp;
              }
         }
     }
  return $arr;
}     
$arr= array(6,3,8,2,9,1);
$res =  BubbleSort($arr);
var_dump($res);

以上就是php冒泡排序的基本内容方法,相信大家已经对它的概念和原理有所理解,毕竟和我们生活中的理念非常切合。学会后就可以用冒泡排序的方法,解决一些数组的问题了。更多php学习指路:php数组

关注公众号

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

底部广告图 底部广告图按钮