ホームページ  >  記事  >  バックエンド開発  >  PHP 挿入ソートを記述する 2 つの方法。

PHP 挿入ソートを記述する 2 つの方法。

WBOY
WBOYオリジナル
2016-06-23 13:25:561116ブラウズ

Baidu 百科事典の挿入ソートの PHP バージョンは次のとおりです:

うわー

とてもぎこちないので、ロバート セジウィック著の「アルゴリズム」をひっくり返しました。はすべて Java で実装されています。 ここでは、挿入ソートを PHP で書き直しています:

 1 function insert_sort($arr) { 2     // 将$arr升序排列 3     $count = count($arr); 4     for ($i=1; $i<$count; $i++) { 5         $tmp = $arr[$i]; 6         $j = $i - 1; 7         while ($j >=0 && $arr[$j] > $tmp) { 8             $arr[$j+1] = $arr[$j]; 9             $j--;10         }11         if (($j+1) != $i) {12             $arr[$j+1] = $tmp;            13         }14     }15     return $arr;16 }

「アルゴリズム」に書かれていることと同じように、2 番目の書き方の方が理解しやすいと思います: 挿入ソートはポーカー プレーヤーのようなものです。同じようにカードを配置し、ソートされた他のカードの適切な位置に各カードを挿入します。さらに、Baidu は Blog Park で Frank Fan の記事挿入ソートも発見しました。こちらもご覧ください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。