クイックソート
実用上もっとも高速とされているソートアルゴリズム.
基準となる要素を一つ選ぶ.
選び方にもいろいろある.できるだけ中央値に近いことが望ましい.
選ぶための処理に時間をかけられないので,ある程度適当に選ぶ.
先頭要素を選ぶ.
ランダムに3要素選び,中央値を選ぶ.
基準値以上の値を先頭から検索し,同時に基準値未満の値を末尾から検索する.
ヒットしたもの同士を交換する.
検索対象が交差した位置で配列を前後に分割し,それぞれに再帰的に処理を行う.
再帰で書けるらしい.
全体がある程度散らかっている方が速い.
ある程度整列されている配列にはむしろ遅い傾向にある.