2016-07-25 109 views
-2

我有一个数组,例如$ arr = array(1,3,2,8,5,7,4,6​​,0);使用Bubble进行PHP数组排序

如何使用气泡排序方法进行自定义排序?

谢谢

+0

http://stackoverflow.com/questions/9001294/bubble -sort的实现功能于PHP – RomanPerekhrest

+4

1)编写代码2)执行代码3)调试代码。我们帮助#3。 #1-2完全是你的责任。 –

回答

-4
$arr = array(7, 3, 9, 6, 5, 1, 2, 0, 8, 4); 
$sortedArr = bubbleSort($arr); 
var_dump($sortedArr); 

function bubbleSort(array $arr) { 
    $sorted = false; 
    while (false === $sorted) { 
     $sorted = true; 
     for ($i = 0; $i < count($arr)-1; ++$i) { 
      $current = $arr[$i]; 
      $next = $arr[$i+1]; 
      if ($next < $current) { 
       $arr[$i] = $next; 
       $arr[$i+1] = $current; 
       $sorted = false; 
      } 
     } 
    } 
    return $arr; 
} 

echo "<pre>"; 
print_r(bubbleSort($arr)); 

http://blog.richardknop.com/2012/06/bubble-sort-algorithm-php-implementation/

1

在这里你去:

$a=array(5,4,3,1,2); 
for($j=0; $j < count($a)-1; $j++) { 
    $swapped=false; 
    $i=0; 
    while ($i < count($a)-1) { 
     if($a[$i] > $a[$i+1]) { 
      $c=$a[$i]; 
      $a[$i]=$a[$i+1]; 
      $a[$i+1]=$c; 
      $swapped=true; 
     } 
     ++$i; 
    } 

    if(!$swapped) 
     break; 
} 
print_r($a); 

输出:

Array 
(
    [0] => 1 
    [1] => 2 
    [2] => 3 
    [3] => 4 
    [4] => 5 
)