ホームページ  >  記事  >  バックエンド開発  >  PHP 配列のカスタム並べ替えアルゴリズムを作成するためのガイド

PHP 配列のカスタム並べ替えアルゴリズムを作成するためのガイド

WBOY
WBOYオリジナル
2024-04-27 18:12:01584ブラウズ

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

PHP 数组自定义排序算法的编写指南

#PHP 配列のカスタム並べ替えアルゴリズムを作成するためのガイドライン

はじめに配列の並べ替えはプログラミング A特定の基準に基づいて配列内の要素を再編成できる共通のタスクです。 PHP にはさまざまな組み込みの並べ替えアルゴリズムが用意されていますが、場合によってはカスタム ロジックに基づいて配列を並べ替える必要があり、その場合は独自のカスタム 並べ替えアルゴリズムを作成する必要があります。

バブル ソートバブル ソートは、隣接する要素を繰り返し比較し、それらの位置を交換することによって配列をソートする単純なソート アルゴリズムです。

function bubbleSort(array &$arr) {
    $n = count($arr);
    for ($i = 0; $i < $n - 1; $i++) {
        for ($j = 0; $j < $n - $i - 1; $j++) {
            if ($arr[$j] > $arr[$j + 1]) {
                $tmp = $arr[$j];
                $arr[$j] = $arr[$j + 1];
                $arr[$j + 1] = $tmp;
            }
        }
    }
}

選択ソート選択ソートは、最小または最大の要素を選択し、それを現在の位置と交換することに基づく並べ替えアルゴリズムです。

function selectionSort(array &$arr) {
    $n = count($arr);
    for ($i = 0; $i < $n - 1; $i++) {
        $min_idx = $i;
        for ($j = $i + 1; $j < $n; $j++) {
            if ($arr[$j] < $arr[$min_idx]) {
                $min_idx = $j;
            }
        }

        $tmp = $arr[$i];
        $arr[$i] = $arr[$min_idx];
        $arr[$min_idx] = $tmp;
    }
}

挿入ソート挿入ソートは、順序付けされた部分に要素を 1 つずつ挿入することに基づく並べ替えアルゴリズムです。

function insertionSort(array &$arr) {
    $n = count($arr);
    for ($i = 1; $i < $n; $i++) {
        $key = $arr[$i];
        $j = $i - 1;

        while ($j >= 0 && $arr[$j] > $key) {
            $arr[$j + 1] = $arr[$j];
            $j--;
        }

        $arr[$j + 1] = $key;
    }
}

実際的なケースバブル ソート アルゴリズムを使用して、次の PHP 配列を昇順に並べ替えてみましょう:

$arr = [5, 2, 8, 3, 1];

バブル ソート関数を呼び出します:

bubbleSort($arr);

ソートされた配列:

[1, 2, 3, 5, 8]

以上がPHP 配列のカスタム並べ替えアルゴリズムを作成するためのガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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