バブルソート(英: bubble sort)は、隣り合う要素の大小を比較しながら整列させるソートアルゴリズム。 アルゴリズムが単純で実装も容易である一方、最悪時間計算量は O(n2) と遅いため、一般にはマージソートやヒープソートなど、より最悪時間計算量の小さな(従って高速な)方法が利用される。 また、安定な内部ソートであり、並列計算との親和性が高いという利点もある。 基本交換法、隣接交換法[1]あるいは単に交換法とも呼ばれる。「バブルソート」という呼称自体はケネス・アイバーソンの1962年の著書 “A Programming Language” に由来すると考えられる[2]。 アルゴリズム[編集] バブルソートにおける要素の移動例を示した図 全ての要素に関して、隣接する要素と比較し順序が逆であれば入れ替える。これを要素数-1回繰り返すことでソートを行う。なおこの繰り返しは、入れ替えが起こ
![バブルソート - Wikipedia](https://cdn-ak-scissors.b.st-hatena.com/image/square/d9bc5a7d7360a51a27f34174dba97963f9bd90d0/height=288;version=1;width=512/https%3A%2F%2Fupload.wikimedia.org%2Fwikipedia%2Fcommons%2F5%2F54%2FSorting_bubblesort_anim.gif)