ホームページ >バックエンド開発 >PHPチュートリアル >挿入ソートを実装するための PHP コード例
この記事では、挿入ソートの PHP 実装に関するコード例を紹介します。一定の参考価値があります。必要な友人は参照してください。お役に立てば幸いです。
これで、並べ替えアルゴリズムに関する説明は終わりです。この記事では、バブル ソート、クイック ソート、選択ソート、および挿入ソート、これら 4 つのアルゴリズムは比較的シンプルで理解しやすいものです。他の人を誤解させないように、より複雑なアルゴリズムは誇張しません。
挿入ソート
挿入ソート (英語: Insertion Sort) は、シンプルで直感的な並べ替えアルゴリズムです。これは、順序付けされたシーケンスを構築することで機能し、並べ替えられていないデータの場合は、並べ替えられたシーケンス内で後ろから前にスキャンし、対応する位置を見つけて挿入します。挿入ソートの実装では、通常、インプレース ソート (つまり、O(1) 個の余分なスペースのみを使用するソート) が使用されます。そのため、後から前へのスキャン プロセス中に、ソートされた要素を繰り返し、徐々に行う必要があります。後方にシフトされ、最新の要素の挿入スペースが提供されます。
一般的に、挿入ソートはインプレースを使用して配列に実装されます。具体的なアルゴリズムは次のとおりです:
1. 最初の要素から開始して、要素はソートされたとみなすことができます
2. 次の要素を取り出し、後方から順に進みますソートされた要素のシーケンス。事前スキャン
3. (ソートされた) 要素が新しい要素より大きい場合、要素を次の位置に移動します。
4. ステップを繰り返します。新しい要素の位置
##5 以下の並べ替えられた要素が見つかるまで 3 を繰り返します。新しい要素を#6 の位置に挿入した後、手順 2 ~ 5# を繰り返します。
##ウィキペディアからの紹介。ステップ 2 ~ 5 に焦点を当てます。 アニメーション デモンストレーション #例<?php $arr = [33, 24, 8, 21, 2, 23, 3, 32, 16]; function insertSort($arr) { $count = count($arr); if ($count < 2) { return $arr; } for ($i = 1; $i < $count; $i++) { // 当前值 $temp = $arr[$i]; for ($k = $i - 1; $k >= 0; $k--) { // 条件成立,比较值后挪一位,将当前值替换成比较值 // 倒序 $temp > $arr[$k] if ($temp 2 [1] => 3 [2] => 8 [3] => 16 [4] => 21 [5] => 23 [6] => 24 [7] => 32 [8] => 33 )
以上が挿入ソートを実装するための PHP コード例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。