C++による基本ソートアルゴリズムの実装ガイド
バブルソート
時間計算量はO(n²)で、追加のメモリ領域を必要としないインプレースソートである。
アルゴリズムの仕組み
隣接する2つの要素を順次比較し、大小関係が逆であれば交換を行う。先頭から末尾まで走査すると、最大値が配列の最後尾に移動する。次に、末尾を除いた範囲で同様の操作を繰り返すことで、未整列部分の最大値が順に後方へ沈んでいく。
実装例
#include ...
5月20日 09:45 投稿
挿入ソートの原理と実装
挿入ソート(Insertion Sort)は、配列を部分的に整列させながら全体をソートしていくアルゴリズムである。既に整列された部分に対して、次の要素を適切な位置に挿入することで、徐々に整列範囲を広げていく。
アルゴリズムの流れ
最初の要素を「整列済み」とみなす。
次の要素を取り出し、整列済み部分の末尾から先頭に向かって比較を行う。
取り出した要素が比較 ...
5月20日 05:41 投稿