目次
特殊な形状の配列の走査" >特殊な形状の配列の走査
クイック ソートアルゴリズム " >クイック ソートアルゴリズム
挿入ソート アルゴリズム" >挿入ソート アルゴリズム
マージ ソート アルゴリズム " >マージ ソート アルゴリズム
ホームページ バックエンド開発 PHPチュートリアル PHP で配列ソートを実装する方法: クイック ソート、挿入ソート、マージ ソート アルゴリズム

PHP で配列ソートを実装する方法: クイック ソート、挿入ソート、マージ ソート アルゴリズム

Jul 19, 2018 pm 02:20 PM
配列のソート

php で配列をソートするには多くの方法があり、各配列のソートには独自の異なる原則があります。クイック ソート アルゴリズム、マージ ソート アルゴリズム、挿入ソート アルゴリズムの例を詳しく見てみましょう。

特殊な形状の配列の走査

次の配列内の数値の平均を求めます:

$arr1 = array(
1, 2, array(31, 32, 33), 4,
array(51, 52, 53, array(541, 542, 543, 544) ),
6, array(71, 72, 73),
);
$count = 0; //计数
$sum = GetArraySum($arr1);
echo “\
ログイン後にコピー

クイック ソートアルゴリズム

原理の説明:

このような配列の場合: [5, 1,2, 6,7];

最初の項目を取り出し (そして使用します)それを中間配列として)、残りの項目を比較した後、それらは 2 つの配列に分割されます:

左の配列項目は中央の項目より小さく、右の配列項目は中央の項目より小さくありません。

左側の配列と右側の配列がすでに並べ替えられた配列である場合は、3 つをマージして最終結果を取得します。

左の配列と右の配列が並べ替えられた配列でない場合は、引き続きこの関数を再帰的に使用して、並べ替えられた配列を取得します。

概略図:

PHP で配列ソートを実装する方法: クイック ソート、挿入ソート、マージ ソート アルゴリズム

主要データ:

$arr1 = [5, 2, 1, 6,7]; / /原則を効果的に示すデータ 1

小: [2, 1]、大: [6, 7]、中: [5]

3 つの組み合わせ: [1 、2、5] , 6, 7];

$arr1 = [2, 1]; //原則を効果的に示すデータ 2

中央: [2]、左: [1] , []

特定のケース:

$arr1 = [5, 2, 4, 6, 1, 3];
$arr1 = [5, 2, 4, 6, 1, 3];
//$arr1 = [5, 3, 2, 8, 7];
echo “\
ログイン後にコピー

挿入ソート アルゴリズム

原則の説明:

このような配列の場合: [2 , 3, 4, 1];

ソートされた配列に特定の数値 n を挿入するには、

n の後に配列の項目を後ろから前に追加するだけです。比較では、 item が n より大きいことが判明した場合、

は item を 1 つ戻し、その後引き続き取り出して比較します。n より大きい場合は、1 つ戻します。以下同様です。 。

最終的にnより大きいものがなくなった場合は、後退時に空いた位置にnを入れます。

配列の場合、最初の項目は「すでにソートされた」配列と見なすことができ、

その後、2 番目の項目は上記の原則に従って「ソートされたものを挿入」できるため、前の 2 つの項目は

と並べ替えることができ、2 つの要素を含む「並べ替えられた配列」になります。これに続いて類推が続きます。

概略図:

PHP で配列ソートを実装する方法: クイック ソート、挿入ソート、マージ ソート アルゴリズム

原理データ:

$arr1 = [2, 3, 4, 1]; //詳しい説明原理のデータ 1

$arr1 = [2, 3, 1]; //原理を効果的に説明するデータ 2

$arr1 = [2, 1]; //原則を効果的に説明します Data 3

$arr1 = [1, 2]; //データ 3

原則を効果的に説明します:

$arr1 = [5, 2, 4, 6, 1, 3];
$arr1 = [2, 3, 4, 1];
$arr1 = [2, 4, 5, 6, 1, 3];
echo “\
ログイン後にコピー

マージ ソート アルゴリズム

原理の説明:

このような配列の場合: $arr1 = [1, 3, 5, 2, 4, 6]; それを 2 つに分割します: $a = [1 , 3, 5],
$b = [2, 4, 6];

ソートされた配列が 2 つある場合、2 つの配列に対して次の操作を実行すると、次の結果を得ることができます。 2 つの配列のソートされた「融合配列」:

配列 a の最初の項目 a1 を取り出し、次に配列 b の最初の項目 b1 を取り出し、a1 と b1 のサイズを比較します。

小さいもの (a1 とする) を新しい配列に入れ、対応する配列 a の最初の項目を削除します。

次に、対応する配列の最初の項目を取り出します (データだけではありません)。 )、その後、毎回 2 つの

のサイズを比較し続け、小さい方を新しい配列に入れ、次の「削除、取得、比較」を続けます。 。 。 。

最終結果として、新しい配列で新しい並べ替えられた配列を取得できます。

まだソートされていない配列の場合、再帰的に 2 つに分割されている限り、最終的には最短の配列 (1 つまたは 0 個のセルのみ) が得られます。この種の配列は自然にソートされます。注文。

回路図:

PHP で配列ソートを実装する方法: クイック ソート、挿入ソート、マージ ソート アルゴリズム

原理データ:

$arr1 = [1, 3, 5, 4, 6, 7, 8 ]; //原理を強く示すデータ 1

を真ん中から 2 つに分割 [ ]; [ 6, 7, 8]

[ 1, 3, 4, 5 , ]

$arr1 = [1, 3, 2, 4]; //原理を効果的に説明するデータ 2

デモケース:


#

$arr1 = [5, 2, 4, 6, 1, 3];
echo “\
ログイン後にコピー
関連する推奨事項:


php バブル ソート クイック ソート、php バブル ソート

php 配列ソート方法の共有 (バブル ソート、選択 並べ替え)

以上がPHP で配列ソートを実装する方法: クイック ソート、挿入ソート、マージ ソート アルゴリズムの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

PHP でキー名を保持する高速配列ソート方法 PHP でキー名を保持する高速配列ソート方法 May 02, 2024 pm 03:06 PM

キー名を保持する PHP の高速配列ソート方法: ksort() 関数を使用してキーをソートします。ユーザー定義の比較関数を使用して並べ替えるには、uasort() 関数を使用します。実際のケース: ユーザー ID を保持しながら、ユーザー ID とスコアの配列をスコアごとに並べ替えるには、uasort() 関数とカスタム比較関数を使用できます。

JS 配列のソート: sort() メソッドの動作原理とメカニズムの詳細な分析 JS 配列のソート: sort() メソッドの動作原理とメカニズムの詳細な分析 Dec 28, 2023 am 11:47 AM

JS 配列のソートを深く理解するには、sort() メソッドの原理とメカニズム、具体的なコード例が必要です はじめに: 配列のソートは、日常のフロントエンド開発作業で非常に一般的な操作の 1 つです。 JavaScript の配列ソート メソッド sort() は、最も一般的に使用される配列ソート メソッドの 1 つです。しかし、sort() メソッドの原理とメカニズムを本当に理解していますか?この記事では、JS 配列の並べ替えの原理とメカニズムを深く理解し、具体的なコード例を示します。 1.sort()メソッドの基本的な使い方

PHP 配列のカスタム並べ替えアルゴリズムを作成するためのガイド PHP 配列のカスタム並べ替えアルゴリズムを作成するためのガイド Apr 27, 2024 pm 06:12 PM

カスタム PHP 配列ソート アルゴリズムを作成するにはどうすればよいですか?バブルソート: 隣接する要素を比較および交換することによって配列をソートします。選択ソート: 毎回最小または最大の要素を選択し、現在の位置と入れ替えます。挿入ソート:ソートされた部分に要素を1つずつ挿入します。

PHP配列を値でソートした後、キー名を保持するにはどうすればよいですか? PHP配列を値でソートした後、キー名を保持するにはどうすればよいですか? May 02, 2024 pm 04:09 PM

PHP でキー名を保持しながら配列を値でソートする方法は、usort() 関数を使用して配列を値でソートすることです。無名関数を比較関数として usort() 関数に渡し、要素値の差を返します。 usort() は、キー名を変更せずに、匿名関数に従って配列をソートします。

PHP のカスタム並べ替えルールに従って配列を並べ替え、元のキー名を保持します PHP のカスタム並べ替えルールに従って配列を並べ替え、元のキー名を保持します May 04, 2024 am 09:27 AM

PHP では、uasort() 関数を使用して、元のキー名を保持しながらカスタムの並べ替えルールに従って配列を並べ替えます。カスタム比較関数は、2 つの要素を入力として受け取り、整数を返す関数です。負の数値は前者が後者より小さいことを意味し、ゼロはそれらが等しいことを意味し、正の数値は前者が後者より大きいことを意味します。

PHP の asort() 関数は配列を値でソートします PHP の asort() 関数は配列を値でソートします Nov 18, 2023 am 10:56 AM

PHP の asort() 関数は、配列を値でソートします。特定のコード例が必要です。PHP は、豊富な配列処理関数を備え、広く使用されているサーバー側スクリプト言語です。中でも、asort()関数は、配列を値に応じて並べ替えることができる非常に便利な関数です。この記事では、asort() 関数の使い方を詳しく紹介し、具体的なコード例を示します。 asort() 関数の機能は、キーと値の関連付けを維持しながら、配列を値の昇順に並べ替えることです。元の数値を変更することで行われます

PHP関数「sort」を使用して配列を昇順に並べ替えます PHP関数「sort」を使用して配列を昇順に並べ替えます Jul 25, 2023 am 09:28 AM

PHP関数「sort」を使って配列を昇順に並べ替える PHPでは、組み込み関数を使って簡単に配列を並べ替えることができます。その中でもsort関数は最もよく使われる関数の一つで、配列を昇順に並べ替えることができます。この記事では、sort 関数の使用方法と対応するコード例を紹介します。ソート関数の構文は次のとおりです。sort(array&$array,int$sort_flags=SORT_REGULAR):boo

PHP 配列の多次元ソートに関するヒント: ソート効率の最適化 PHP 配列の多次元ソートに関するヒント: ソート効率の最適化 Apr 30, 2024 am 09:54 AM

PHP で多次元配列のソートを最適化するためのヒント: ソート用のユーザー定義関数を作成する array_multisort() 関数を使用して、多次元キーの並べ替えを適用する 実際のケース: 配列のキーと値のペアによる製品のソート

See all articles