C++での選択ソートの実装方法


まず、選択ソートの基本的なアイデアは、リスト内の最小値(または最大値)を見つけて先頭に配置することです。次に、残りの要素に対して同じ手順を繰り返します。これにより、リスト全体がソートされます。

以下に、C++での選択ソートの実装例を示します。

#include <iostream>
void selectionSort(int arr[], int size) {
    for (int i = 0; i < size - 1; i++) {
        int minIndex = i;
        for (int j = i + 1; j < size; j++) {
            if (arr[j] < arr[minIndex]) {
                minIndex = j;
            }
        }
        std::swap(arr[i], arr[minIndex]);
    }
}
int main() {
    int arr[] = {64, 25, 12, 22, 11};
    int size = sizeof(arr) / sizeof(arr[0]);
    selectionSort(arr, size);
    std::cout << "Sorted array: ";
    for (int i = 0; i < size; i++) {
        std::cout << arr[i] << " ";
    }
    std::cout << std::endl;
    return 0;
}

このコードでは、selectionSort関数を定義して選択ソートを実装しています。配列の要素を昇順にソートする例として、{64, 25, 12, 22, 11}の配列を使用しています。

ソート後の配列は次のようになります: 11 12 22 25 64

以上が、C++で選択ソートを実装する方法と簡単なコード例です。選択ソートはシンプルなアルゴリズムですが、大規模なデータセットでは効率が低下する可能性があるため、より高速なソートアルゴリズムも検討することをおすすめします。