LoginSignup
20
17

More than 5 years have passed since last update.

バブルソートアルゴリズム(php)

Posted at

Wikipediaのバブルソートアルゴリズムを元に作成
■概要
全ての要素に関して、隣接する要素と比較し順序が逆であれば入れ替える。これを要素数-1回繰り返すことでソートを行なう。
なお、この繰り返しは、入れ替えが起こらなくなった時点で(それ以降は何度繰り返しても変化が起こらなくなるので)中断することができる。

※サンプルには、上記中断の処理はなし。

Bubble_Sort.php
<?php

$arr = array(3,2,1,4,15,18,13,99,77,66,1,100,0);

var_dump(bubble_sort($arr));

function bubble_sort($array)
{
    // 要素数回繰り返し
    for($i = 0; $i < count($array); $i++)
    {
        // 要素数-1回繰り返し
        for($n = 1; $n < count($array); $n++)
        {
            // 隣接要素を比較し大小が逆なら入替える
            if($array[$n-1] > $array[$n])
            {
                $temp = $array[$n];
                $array[$n] = $array[$n-1];
                $array[$n-1] = $temp;
            }
        }
    }
    return $array;
}
20
17
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
20
17