本ページには広告が含まれています。
引数に指定された配列をバブルソートで並び替えます。参照引数で戻り値はありません。
- 構文
- bubbleSort( array )
- 引数
- array 必須
- ソートする数値を格納した配列。参照引数。
- 戻り値
プログラム
解説
- 2,6行目
- 配列の要素の数だけ繰り返す。この処理を繰り返すたびに配列の添字が大きい値が順に1つずつ確定していきます。
- 3,5行目
- 配列の0番目から順に値の比較を行う。2行目>>>を実行するたびに最大値が確定していくので、比較を行う範囲をiだけ減らしていきます。
- 4行目
- もしarrayのj番目がj+1番目よりも大きければ、その2つの要素を入れ替える。この処理で比較した2つの値は添字の大きい方の値が大きくなるよう並び替えられます。
使い方
- 結果
バブルソート
バブルソートは、ソートを行うアルゴリズムの一つです。リストにおいて隣り合うふたつの要素の大小を比較しながらソートを行います。基本交換法、隣接交換法ともいいます。
| 最悪計算時間 | \(O(n^{2})\) |
|---|---|
| 最良計算時間 | \(O(n)\) |
| 平均計算時間 | \(O(n^{2})\) |
アルゴリズム
すべての要素に関して、隣接する要素を比較し大小が逆であれば入れ替える。これを要素数-1回繰り返すことでソートを行います。繰り返しは入れ替えが起こらなくなった時点で中断することができます。
- 最初に、配列の先頭要素をカレントポインタに設定します。
- カレントポインタが配列の末尾まで到達するまで、以下の処理を繰り返します。
- カレントポインタが指す要素と、カレントポインタの次の要素の大小関係を比較します。
- もし、大小関係が逆であれば、2つの要素を交換します。
- カレントポインタが配列の末尾まで到達したら、ソートが完了です。
関連記事
- QSORT関数 (スクリプト関数)
- 配列の中身をソートします。
- shakerSort関数 (自作関数)
- 引数に指定された配列を シェーカーソート で並び替えます。
- gnomeSort関数 (自作関数)
- 引数に指定された配列を ノームソート で並び替えます。
- small関数 (自作関数)
- 配列の中で小さい方から数えた順位の値を求めます。
- insertionSort関数 (自作関数)
- 引数に指定された配列を 挿入ソート で並び替えます。
- shellSort関数 (自作関数)
- 引数に指定された配列を シェルソート で並び替えます。
- heapSort関数 (自作関数)
- 引数に指定された配列を ヒープソート で並び替えます。
- quickSort関数 (自作関数)
- 引数に指定された配列を クイックソート で並び替えます。
- shearSort関数 (自作関数)
- 引数に指定された配列を シェアソート で並び替えます。
- RESIZE関数 (スクリプト関数)
- 配列の上限値を取得または変更します。配列の上限値を変更する場合は第二引数に値を指定します。
