コードを使用してCでバブルソートを実装する方法



この記事では、アルゴリズムと作業コードを使用したCでのバブルソートの詳細で包括的な知識を提供します。

Cのバブルソートは、指定された配列の隣接する要素を繰り返し比較し、順序が間違っている場合はそれらを交換する単純なソートアルゴリズムです。あなたはバブルソートという名前について疑問に思うかもしれません。この記事で取り上げるポインタは次のとおりです。

Cのバブルソートとは何ですか?

アルゴリズムがバブルのように機能し、軽い要素が現れ、重い要素が落ち着くため、ソート手法はそのように呼ばれます。バブルソートアルゴリズムは、パスでリストをソートします。ここで、n個の要素を含むリストをソートするには、バブルソートにはn-1回のパスが必要です。わかりやすくするために、この手順を段階的に理解しましょう。





C ++の名前空間とは

Bubble-Sort-in-C

バブルソートのアルゴリズム

  • パス1
    • X [0]とX [1]が比較され、X [0]> X [1]の場合に交換されます
    • X [1]とX [2]が比較され、X [1]> X [2]の場合に交換されます
    • X [2]とX [3]が比較され、X [2]> X [3]などの場合に交換されます&hellip
    • パス1の終わりに、リストの最大の要素がリストの最も高いインデックスに配置されます。
  • パス2:
    • X [0]とX [1]が比較され、X [0]> X [1]の場合に交換されます
    • X [1]とX [2]が比較され、X [1]> X [2]の場合に交換されます
    • X [2]とX [3]が比較され、X [2]> X [3]などの場合に交換されます&hellip
    • パス2の終わりに、リストの2番目に大きい要素が、リストの2番目に高いインデックスに配置されます。
  • パスn-1:
    • X [0]とX [1]が比較され、X [0]> X [1]の場合に交換されます
    • X [1]とX [2]が比較され、X [1]> X [2]の場合に交換されます
    • X [2]とX [3]が比較され、X [2]> X [3]などの場合に交換されます&hellip
    • このパスの終わりに。リストの最小要素は、リストの最初のインデックスに配置されます。

Cでのバブルソートの例

アレイ: -5、35、2、13、-15



パス1

  • (( -5、35 、2、13、-15)->( -5、35 、2、13、-15)、ここで、アルゴリズムは最初の2つの要素を比較します。
  • (-5、 35、2 、13、-15)->(-5、 2、35 、13、-15)、35> 2以降のスワップ
  • (-5、2、 35、13 、-15)->(-5、2、 13、35 、-15)、35> 13以降のスワップ
  • (-5、2、13、35、-15)->(-5、2、13、-15、35)、35> -15以降のスワップ

最後の要素は最大の要素です。

パス2



  • (( -5、2 、13、-15、35)->(- 5、2 、13、-15、35)
  • (-5、 2、13、 35、-15)->(-5、 2、13 、-15、35)
  • (-5、2、 13、-15 、35)->(-5、2、 -15、13 、35)、13> -15以降のスワップ

最後から2番目の要素は、2番目に大きい要素です。

パス3

  • (( -5、2 、-15、13、35)->( -5、2 、-15、13、35)
  • (-5、 2、-15 、13、35)->(-5、 -15、2 、13、35)、2> -15以降のスワップ

最後から3番目の要素は、3番目に大きい要素です。

initはPythonで何をしますか

パス4

  • (( -5、-15 、2、 13、35)->( -15、-5 、2、 13、35)、-5> -15以降のスワップ

最終的に、最初は最小で2 nd 配列内で2番目に小さい要素です。 したがって、この場合、5つの要素の配列を並べ替えるには4つのパスが必要でした。

アルゴリズムを詳細に見る前に、Cアルゴリズムのバブルソートの時間計算量を見てみましょう。

バブルソートの複雑さ

  • 最悪の場合の複雑さ:オン2
  • ベストケースの複雑さ:オン2
  • 平均的なケースの複雑さ:オン)

ここで、アルゴリズムを簡単に見てみましょう。先に進むと、Cでバブルソートアルゴリズムを記述できます。

バブルソート機能

voidbubbleSort(int array []、int n){int i、j //バブルソートを渡すfor(i = 0 i

Cプログラムでのバブルソート

#include //要素を交換する関数voidswap(int * a、int * b){int temp = * a * a = * b * b = temp} //バブルソート関数voidbubbleSort(int array []、int n ){int i、j for(i = 0 i

Sorted-Array

上記のCプログラムを実行した後、バブルソートがどのように機能し、C言語で実装するかを理解できたはずです。このブログがあなたにとって有益で付加価値があることを願っています。

チェックしてください 25万人以上の満足した学習者のネットワークを持つ信頼できるオンライン学習会社であるEdurekaが世界中に広がっています。 EdurekaのJavaJ2EEおよびSOAトレーニングおよび認定コースは、Java開発者になりたい学生および専門家向けに設計されています。このコースは、Javaプログラミングをすぐに開始できるように設計されており、HibernateやSpringなどのさまざまなJavaフレームワークに加えて、コアと高度なJavaの両方の概念についてトレーニングします。

質問がありますか?このバブルソートinCの記事のコメントセクションにその旨を記載してください。できるだけ早くご連絡いたします。