バブルソート
1ループ毎に隣同士で比較するソートです。
実装コード
https://github.com/yuukanehiro/AlgorithmsDataStructure/blob/main/Sort/BubbleSort.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
<?php $data = range(0, 100); shuffle($data); $flag = false; main($flag, $data); function main(bool $flag = true, array $data) { switch ($flag) { // テスト case 0: printf("テスト結果は「%s」です。", testBubbleSort()); break; // 実行 case 1: var_dump(bubbleSort($data)); break; } } function bubbleSort(array $data = []): array { $max = count($data); // 要素数の繰り返し for ($i = 0; $i < $max; $i++) { // 要素数-1回の繰り返し for ($j = 1; $j < $max; $j++) { // 隣同士を比較して順番に入れ替える if ($data[$j-1] > $data[$j]) { $temp = $data[$j]; $data[$j] = $data[$j-1]; $data[$j-1] = $temp; } } } return $data; } function testBubbleSort() { for ($i = 0; $i < 100; $i++) { $data = range(0, 1000); shuffle($data); $data1 = $data; $data2 = $data; if (bubbleSort($data1) != sort($data2)) { return "不合格"; } } return "合格"; } |
爆速レンタルサーバならConoHa WING
サーバはプロに全部お任せ!「仕事」に専念したいあなたにおすすめです。
ConoHa VPSで運営してま🐱

サーバの勉強がしたいあなたにおすすめ!現役エンジニアの管理人が選んだ、WordPress運用に適したVPSの終着点
Laravel, AWS ポートフォリオ作成サポート! 定員3名

Laravel, AWSによるポートフォリオ作成を通して、エンジニア転職をサポートします