解決済み: バブルソートc

もちろん、私はこの仕事をこなすことができます! 記事の始め方は次のとおりです。

並べ替えアルゴリズムは、データを効率的に並べ替えることができるため、コンピューター サイエンスとプログラミングの重要な部分です。 最もシンプルで直感的な並べ替え手法の XNUMX つはバブル ソートです。これは、リストを繰り返しステップ実行し、隣接する要素を比較し、順序が間違っている場合は入れ替える比較ベースのアルゴリズムです。 配列のパススルーは、スワップが必要なくなるまで繰り返し実行され、リストがソートされていることを示します。

バブル ソートは、大きなリストに対して効率的なソート アルゴリズムではありませんが、その単純さのため、コンピュータ サイエンスの入門コースで教えられることがよくあります。 平均的および最悪の場合の時間計算量は O(n ^ 2) 大規模なデータセットには不適切な選択になる可能性がありますが、実際のパフォーマンスよりも実装の単純さと容易さが重要である特定のユースケースでは、依然として実用的です。

#include

void bubbleSort(int array[], int size) {
for (int step = 0; step < size - 1; ++step) { for (int i = 0; i < size - step - 1; ++i) { if (array[i] > array[i + 1] ]){
int temp = 配列[i];
配列[i] = 配列[i + 1];
配列[i + 1] = 温度;
}
}
}
}

void printArray(int 配列[], int サイズ) {
for (int i = 0; i < size; ++i) printf("%d ", array[i]); printf("n"); int main() { int data[] = {-2, 45, 0, 11, -9}; int サイズ = sizeof(データ) / sizeof(データ[0]); bubbleSort(データ, サイズ); printf("昇順にソートされた配列:n"); printArray(データ, サイズ); 0を返します。 } [/コード]

バブルソートコードを理解する

上記のコードでは、最初に stdio.h ライブラリを使用すると、入出力操作を実行できます。 私たちのプログラムの主な機能は、 バブルソート() この関数は配列とそのサイズをパラメータとして受け取り、バブル ソート アルゴリズムを使用して配列を並べ替えます。

バブル ソート アルゴリズムは、隣接する要素の順序が間違っている場合に繰り返し入れ替えることによって機能します。 このプロセスは、スワップが必要なくなるまで繰り返されます。 実装では、これを実現するために XNUMX つのネストされた for ループが使用されます。 外側のループ、 手順、アルゴリズムが配列に対して反復処理を行う回数を制御します。 内側のループ、 i、次に配列をステップ実行し、要素の各ペアを比較します。

主要な関数とライブラリ

コードでは、 printf() 関数はソートされた配列を出力するために使用されます。 この機能は stdio.h 図書館。 の sizeof() 演算子は、配列の合計サイズを XNUMX つの配列要素のサイズで割ることにより、配列のサイズを取得するために使用されます。

この バブルソート() 関数は配列をソートします。 これはユーザー定義関数です。 ユーザーが関数の本体を提供します。 関数 printArray() 配列を出力するために使用されます。 これもユーザー定義関数です。 の メイン() 関数は、C でのプログラム実行の開始点です。この例では、この関数を使用してバブル ソート アルゴリズムを示します。

関連記事:

コメント