C# で選択ソート アルゴリズムを実装する方法

PHPz
リリース: 2023-09-20 13:33:39
オリジナル
1058 人が閲覧しました

C# で選択ソート アルゴリズムを実装する方法

C で選択並べ替えアルゴリズムを実装する方法

#選択並べ替え (選択並べ替え) は、シンプルで直感的な並べ替えアルゴリズムです。その基本的な考え方は、から開始することです。 -毎回ソートされる順序 要素の中から最小(または最大)の要素を選択し、ソートされたシーケンスの最後に置きます。すべての要素が並べ替えられるまで、このプロセスを繰り返します。

C# で選択並べ替えアルゴリズムを実装する方法について詳しく学び、具体的なコード例を添付しましょう。

  1. 選択ソート メソッドを作成する
    まず、選択ソートを実装するためのメソッドを作成する必要があります。このメソッドは整数配列をパラメータとして受け取り、順序付けされた整数配列を返します。
public static int[] SelectionSort(int[] arr)
{
    int n = arr.Length;

    // 遍历数组
    for (int i = 0; i < n - 1; i++)
    {
        int minIndex = i;

        // 在未排序部分中找到最小元素的索引
        for (int j = i + 1; j < n; j++)
        {
            if (arr[j] < arr[minIndex])
            {
                minIndex = j;
            }
        }

        // 将最小元素与未排序部分的第一个元素交换位置
        int temp = arr[minIndex];
        arr[minIndex] = arr[i];
        arr[i] = temp;
    }

    return arr;
}
ログイン後にコピー
  1. 選択ソート メソッドの呼び出し
    次に、配列をソートするために選択ソート メソッドを呼び出すサンプル プログラムを作成します。
class Program
{
    static void Main(string[] args)
    {
        int[] arr = { 64, 25, 12, 22, 11 };
        
        Console.WriteLine("原始数组:");
        PrintArray(arr);

        // 调用选择排序方法对数组进行排序
        int[] sortedArr = SelectionSort(arr);

        Console.WriteLine("排序后的数组:");
        PrintArray(sortedArr);
    }

    // 打印数组
    static void PrintArray(int[] arr)
    {
        foreach (int element in arr)
        {
            Console.Write(element + " ");
        }
        Console.WriteLine();
    }
}
ログイン後にコピー

上記のサンプル プログラムでは、並べ替えの例として 5 つの整数を含む配列を使用しました。まず、元の配列を出力し、次に選択ソート メソッドを呼び出して並べ替え、最後に並べ替えられた配列を出力します。

  1. プログラムを実行する
    これで、プログラムを実行して、選択並べ替えアルゴリズムの具体的な実装を確認できます。
原始数组:
64 25 12 22 11 
排序后的数组:
11 12 22 25 64 
ログイン後にコピー

プログラムを実行すると、元の配列が選択ソート アルゴリズムによって処理された後、順序付けされた配列になっていることがわかります。

概要:
選択ソートはシンプルですが非効率なソート アルゴリズムです。時間計算量は O(n^2) で、小規模な配列のソートに適しています。実際のアプリケーションでは、クイック ソート、マージ ソートなどの、より効率的なソート アルゴリズムを使用して選択ソートを置き換えることができます。

この記事の紹介とコード例が、皆様の選択並べ替えアルゴリズムの理解と適用に役立つことを願っています。

以上がC# で選択ソート アルゴリズムを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!