本ページには広告が含まれています。
引数に指定された配列をシェルソートで並び替えます。
- 構文
- shellSort( array )
- 引数
- array 必須
- ソートする数値を格納した配列。参照引数。
- 戻り値
プログラム
使い方
- 結果
シェルソート
シェルソート(Shell Sort)は、挿入ソートを高速化したソートアルゴリズムの一つで、挿入ソートのアルゴリズムを改良したものです。挿入ソートが隣接する要素を比較するのに対して、シェルソートは間隔を設定して、間隔だけ離れた要素を比較します。
| 最悪計算時間 | 間隔に依存 |
|---|---|
| 最良計算時間 | \(O(n \log n)\) |
| 平均計算時間 | 間隔に依存 |
アルゴリズム
- ソート対象の配列を、間隔を設定して分割します。最初は間隔を半分にし、以降、間隔を縮小しながら分割を繰り返します。
- 分割された部分配列に対して、挿入ソートを実行します。つまり、隣接する要素を比較して、正しい順序に並び替えます。
- 1〜2を、最後に間隔が1になるまで繰り返します。
関連記事
- QSORT関数 (スクリプト関数)
- 配列の中身をソートします。
- bubbleSort関数 (自作関数)
- 引数に指定された配列を バブルソート で並び替えます。
- shakerSort関数 (自作関数)
- 引数に指定された配列を シェーカーソート で並び替えます。
- small関数 (自作関数)
- 配列の中で小さい方から数えた順位の値を求めます。
- gnomeSort関数 (自作関数)
- 引数に指定された配列を ノームソート で並び替えます。
- insertionSort関数 (自作関数)
- 引数に指定された配列を 挿入ソート で並び替えます。
- heapSort関数 (自作関数)
- 引数に指定された配列を ヒープソート で並び替えます。
- quickSort関数 (自作関数)
- 引数に指定された配列を クイックソート で並び替えます。
- shearSort関数 (自作関数)
- 引数に指定された配列を シェアソート で並び替えます。
- RESIZE関数 (スクリプト関数)
- 配列の上限値を取得または変更します。配列の上限値を変更する場合は第二引数に値を指定します。
