ホームページ > バックエンド開発 > C++ > C++ でバブル ソート アルゴリズムを使用する方法

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

WBOY
リリース: 2023-09-19 17:12:11
オリジナル
1510 人が閲覧しました

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

C でバブル ソート アルゴリズムを使用する方法

バブル ソート アルゴリズムは、複数の比較と交換を使用してシーケンスを最小のものから順に並べ替える、シンプルですが非効率的な並べ替えアルゴリズムです。最大(または最大から最小)。ここではC言語を使ったバブルソートアルゴリズムの実装方法と詳細なコード例を紹介します。

  1. アルゴリズム原理:
    バブル ソート アルゴリズムの基本的な考え方は、並べ替えるシーケンスから隣接する要素を 1 つずつ比較することです。前の要素が後の要素より大きい場合、 、2 つは交換されます。要素の位置。このような比較の後、最大 (または最小) の要素がシーケンスの最後に「バブル」されます。次に、シーケンス全体が整うまで、残りのシーケンスに対して同じ比較および交換操作を実行します。
  2. アルゴリズムの実装:
    次は、C 言語を使用してバブル ソート アルゴリズムを実装するコード例です:
#include<iostream>
using namespace std;

// 冒泡排序函数
void bubbleSort(int arr[], int n) {
    for (int i = 0; i < n - 1; i++) {
        for (int j = 0; j < n - 1 - i; j++) {
            // 如果前一个元素大于后一个元素,交换它们的位置
            if (arr[j] > arr[j + 1]) {
                int temp = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = temp;
            }
        }
    }
}

// 主函数
int main() {
    int arr[] = { 64, 34, 25, 12, 22, 11, 90 };
    int n = sizeof(arr) / sizeof(arr[0]);

    bubbleSort(arr, n);

    cout << "排序后的数组:";
    for (int i = 0; i < n; i++) {
        cout << arr[i] << " ";
    }
    cout << endl;
    
    return 0;
}
ログイン後にコピー
  1. サンプル分析:
    まず、 main 関数 ソートする整数配列 arr を定義し、必要に応じて初期化します。次に、配列 n の長さを計算して、bubbleSort 関数を呼び出して配列を並べ替えます。 bubbleSort 関数では、2 つのネストされたループを使用してバブル ソートのコア ロジックを実装します。外側のループは比較と交換のラウンド数を制御し、内側のループは特定の比較と交換を担当します。各ラウンドの最後に、ソートされた配列が main 関数で出力されます。
  2. 結果のデモ:
    上記のコードを実行すると、コンソールに次の結果が出力されます:
排序后的数组:11 12 22 25 34 64 90
ログイン後にコピー

バブル ソートの後、配列要素が次のようになっていることがわかります。小さいものから大きいものへ順番に並んでいます。大きいものは正しい順序で並んでいます。

概要:
バブル ソート アルゴリズムは、シンプルですが非効率なソート アルゴリズムです。実際のアプリケーションでは、バブル ソート アルゴリズムを小規模なデータの並べ替えに使用できます。ただし、大規模なデータの場合、バブル ソート アルゴリズムは時間がかかるため、推奨されません。

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

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