C++ で選択ソート アルゴリズムを使用する方法

WBOY
リリース: 2023-09-21 13:28:41
オリジナル
768 人が閲覧しました

C++ で選択ソート アルゴリズムを使用する方法

C での選択ソート アルゴリズムの使用方法

選択ソートは、残りの要素から最小値を連続的に選択するというシンプルで直感的なソート アルゴリズムです。 、ソートされたシーケンスの最後に配置します。この記事では、C 言語を使用して選択ソート アルゴリズムを実装する方法を紹介し、読者がアルゴリズムをよりよく理解して使用できるように具体的なコード例を示します。

選択による並べ替えの基本的な考え方は次のとおりです:

  1. まず、並べ替えられていない要素から最小値を見つけます;
  2. 最小値を要素と比較します。未ソートのパート要素の最初の要素は位置を交換します。
  3. ソートが完了するまで、残りの未ソート要素に対して上記の手順を繰り返します。

以下は、C 言語を使用して選択ソートを実装するコード例です:

#include <iostream>
using namespace std;

// 选择排序函数
void selectionSort(int arr[], int n) {
    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; // 更新最小值的索引
            }
        }
        // 将最小值与当前位置的元素交换
        if (minIndex != i) {
            int temp = arr[i];
            arr[i] = arr[minIndex];
            arr[minIndex] = temp;
        }
    }
}

// 打印数组元素
void printArray(int arr[], int size) {
    for (int i = 0; i < size; i++) {
        cout << arr[i] << " ";
    }
    cout << endl;
}

int main() {
    int arr[] = {64, 25, 12, 22, 11};
    int n = sizeof(arr) / sizeof(arr[0]);
    
    cout << "排序前的数组:";
    printArray(arr, n);
    
    selectionSort(arr, n);
    
    cout << "排序后的数组:";
    printArray(arr, n);
    
    return 0;
}
ログイン後にコピー

上記のコードを実行すると、出力結果は次のようになります:

排序前的数组:64 25 12 22 11 
排序后的数组:11 12 22 25 64
ログイン後にコピー

Through上記のコード例では、選択ソート アルゴリズムの具体的な実装プロセスを確認できます。このアルゴリズムの時間計算量は O(n^2) です。ここで、n は並べ替えられる配列のサイズを表します。選択ソートは大規模なデータ セットではあまり効率的ではありませんが、小さな配列やほとんど順序付けされた配列に対しては、シンプルで理解しやすく効果的なソート アルゴリズムです。

要約すると、この記事では、C 言語を使用して選択並べ替えアルゴリズムを実装する方法を紹介し、詳細なコード例を示します。この記事を読んで選択ソートアルゴリズムの実装原理をマスターし、実際の開発でこのアルゴリズムを柔軟に活用できるようになれば幸いです。

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

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