【问题标题】:bubble sort multidimensional array php冒泡排序多维数组php
【发布时间】:2016-03-03 02:36:33
【问题描述】:

我必须对二维数组进行排序

   $items = array(
   array(15, 16, 8, 1),
   array(2, 3, 4, 7),
   array(9, 11, 19, 6,)
   );

用冒泡排序蚂蚁得到这样的东西

  1,2,3,4
  6,7,8,9
  11,15,16,19

我在任何地方都找不到多个数组的冒泡排序。 你能帮帮我吗?

我尝试了类似的方法,但它不起作用:

 $iterations = 0;
 for ($i = 0; $i < count($array); $i++)
 {
   $iterations++;
   $hasSwap = false;
     for ($j = 0; $j < count($array) - 1 - $i; $j++) 
      {
        $iterations++;
            if ($array[$j] > $array[$j + 1]) 
            {
              $hasSwap = true;
              swap($array, $j, $j + 1);
            }
         }

        if (!$hasSwap) 
        {
          break;
        }
   }
   var_dump($iterations);
   print_r($array);

【问题讨论】:

  • 这对我来说没有意义。如果要在数组之间交换元素,那么它们并不是真正独立的数组。
  • 合并数组为1,做冒泡排序,分成4个元素的块。

标签: php arrays multidimensional-array 2d bubble-sort


【解决方案1】:

您将三个数组视为一个数组。所以

  1. 从中创建一个数组
  2. 使用标准冒泡排序
  3. 将它们分成三个数组。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-07-05
    • 1970-01-01
    • 1970-01-01
    • 2014-06-10
    • 2021-10-31
    • 2020-09-13
    相关资源
    最近更新 更多