Bubble Sort Algorithm
Coddyの「バブルソート」コースのレッスン 4/11。
反復処理とスワップの実行方法について説明してきましたが、それはバブルソートの完全なアルゴリズムではありません。リスト全体がソートされるまで、このプロセスを繰り返す必要があります。
前のレッスンで説明したように、最初のパスで最大要素がリストの最後に配置されることに気づきました。そして、これこそが後続のパスを通じて達成しようとしていることです。
では、何回のパスが必要でしょうか? n個の要素を持つリストの場合はどうなるでしょうか?
はい、リスト全体をソートするにはn回のパスが必要です。
チャレンジ
簡単 配列と配列のサイズを受け取る bubble_sort という名前の関数を作成してください。配列を反復処理し、隣接する要素を比較して入れ替えます。最終的なソート済みリストを得るために、このプロセスを n 回繰り返します。ソートされたリストを返してください。
自分で試してみよう
#include <stdio.h>
#include <stdlib.h>
int* bubble_sort(int* arr, int arr_size, int n, int* returnSize) {
// ここにコードを記述してください
*returnSize = n;
return arr;
}
バブルソートのすべてのレッスン
1Basics of Bubble Sort
IntroductionWorking of the Bubble SortSwap adjacent elementsBubble Sort Algorithm