Пузырьковая сортировка индексного массива
function BubbleSort($arrSort = []) // функция пузырьковой сортировки индексного массива
{
if (count($arrSort) === 0) return false; // пустой массив нет смысла сортировать, функция вернет лож
// алгоритм пузырьковой сортировки
for ($keyFirst = 0; $keyFirst < count($arrSort); $keyFirst++) { // получаем в цикле номер первого сверяемого ключа массива
for ($keySecond = 0; $keySecond < count($arrSort); $keySecond++) { // получаем в подцикле номер второго сверяемого ключа массива
if ($arrSort[$keyFirst] < $arrSort[$keySecond]) { // если значение массива по первому ключу меньше чем по второму ключу
list($arrSort[$keyFirst], $arrSort[$keySecond]) = [$arrSort[$keySecond], $arrSort[$keyFirst]]; // меняем местами значения в массиве
}
}
}
return $arrSort;
}
$arr = array(); // создадим пустой массив
do { // заполним массив случайными числами в цикле
$var = rand(0, 100); // получаем случайное число от 0 до 100
if (in_array($var, $arr) === false) { // если такого значения еще нет в массиве, то добавим его в массив
$arr[] = $var; // новый ключ будет назначен автоматически (следующее свободное положительное число)
}
} while (count($arr) < 5); // после выполнения кода проверка размера массива, если меньше 5 то повторить цикл
var_dump(BubbleSort($arr)); // вызов функции и вывод дампа полученного результата
array(5) {
[0]=>
int(9)
[1]=>
int(14)
[2]=>
int(34)
[3]=>
int(54)
[4]=>
int(61)
}
php
array
BubbleSort
while
просмотров: 1118