すずしんろぐ

人生大逆転を目指す、鈴木俊吾の成長日記

Java 選択ソート(Selection Sort)のプログラムを作成してみた

time 2016/11/08

Tag:

number

こんにちは、すずしんです。

今日は、アルゴリズムの勉強と肩慣らしの意味も込めまして…。
選択ソートのプログラムをJavaで作成してみました。

選択ソートとは?

選択ソートは、配列の中から最小値(最大値)を探して、配列の先頭要素と交換するということを繰り返すことで整列を行う方法です。
最悪計算量はO(n^2)と遅いですが、実装が単純で分かりやすいためしばしば用いられます。
数あるソートアルゴリズムの中でも基本ですね。

sortメソッド

int型の配列を昇順に選択ソートするメソッドsort()を作成してみました。
ソースコードを見てもらえれば大体何をしているかは分かると思います。

簡単に説明すると、1回のループでは最小の数があるインデックスを探していきます。
そして、現在のインデックスとその最小値があるインデックスが違う場合、値の入れ替えを行います。
この操作を(要素数-1)回繰り返しています。

サンプルプログラム

上記のsort()メソッドを実際に使用して選択ソートするサンプルプログラムを作成してみました。
int型配列nを用意し、その配列の要素を表示、選択ソート、その後要素を表示しています。
やっていることは非常に単純ですね。

実行結果

サンプルプログラムの実行結果は以下のようになります。
正しく配列が昇順にソートされているのが分かると思います。

follow us in feedly

down

コメントする




ファッション

プロフィール

鈴木俊吾(すずしん)

鈴木俊吾(すずしん)

大学卒業後、公務員を目指して試験に合格するも何故か辞退。その後は無職のまま特に何もない無駄な日々を過ごす。その内に精神状態がおかしくなり統合失調症を発症。今までに4度の入院を経験。ただいま絶賛人生のどん底を経験中。そんな私ですが、現在はフリーランスのプログラマーを目指して勉強を進めています。これまでにいくつかのアプリを公開しています。このブログは、人生大逆転を目指して奮闘する私の成長日記(?)です。どうか温かく見守って頂けるとありがたいです。 [詳細]

アクセスカウンター

since: 2016/11/15

人気記事

アーカイブ



ブログ村ランキング