当前位置:首页 > PHP教程 > php数组 > 列表

PHP对一组数进行重新排列(冒泡算法)

发布:smiling 来源: PHP粉丝网  添加日期:2022-05-30 08:52:45 浏览: 评论:0 

如何对已知数组 $arr = [24,69,80,57,13] 进行按重新顺序排序。

思路:

1、我们需要对数组中每两个,前后进行比较,如果前面小于后面的,就进行兑换位置;

2、因为是两个一比较,所以我们需要比较count($arr) - 1 轮,因为每一轮比较下来,都可以确定一个最大的值,所以每一轮就会减少一次。

图示:

PHP对一组数进行重新排列(冒泡算法)

代码:

  1. //定义数组 
  2.  
  3. $arr = [24,69,80,57,13]; 
  4.  
  5. //定义一个临时变量 
  6.  
  7. $temp = 0; 
  8.  
  9. //第一层循环,外层循环,循环count($arr) - 1 次(可以遍历到每一个数组值) 
  10.  
  11. for ($i1=0; $i1 < count($arr); $i1++) {  
  12.  
  13.     //第二层循环,内层循环,每一次外层循环内,再次循环,循环次数依次减少一次(每次循环结束,可以获取到一个最大值) 
  14.  
  15.     for ($i=0; $i < count($arr) - 1; $i++) { 
  16.  
  17.         //判断条件,满足即交换值  
  18.  
  19.         if($arr[$i] > $arr[$i + 1]){ 
  20.  
  21.             //临时存储满足条件的变量值 
  22.  
  23.             $temp = $arr[$i]; 
  24.  
  25.             //重新赋值 
  26.  
  27.             $arr[$i] = $arr[$i + 1]; 
  28.  
  29.             //重新赋值 
  30.  
  31.             $arr[$i + 1] = $temp
  32.  
  33.         } 
  34.  
  35.     } 
  36.  
  37.  
  38. //输出排列后的数组 
  39.  
  40. echo '<pre>'
  41.  
  42. var_dump($arr); 

最终结果为:

PHP对一组数进行重新排列(冒泡算法)

Tags: PHP数组排列 PHP冒泡算法

分享到: