From b75c65ae108d76a2e714913e9a0ad9331231c5f5 Mon Sep 17 00:00:00 2001 From: AotoTakeyama <50577559+AotoTakeyama@users.noreply.github.com> Date: Fri, 31 May 2019 09:14:11 +0900 Subject: [PATCH] Create InsertionSort.java MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit sortメソッドの実装 --- src/jp/co/cis/sort/InsertionSort.java | 36 +++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 src/jp/co/cis/sort/InsertionSort.java diff --git a/src/jp/co/cis/sort/InsertionSort.java b/src/jp/co/cis/sort/InsertionSort.java new file mode 100644 index 0000000..6c39429 --- /dev/null +++ b/src/jp/co/cis/sort/InsertionSort.java @@ -0,0 +1,36 @@ +package jp.co.cis.sort; + +/** + * 挿入ソートで配列の値を並び替えるクラスです。 + * + */ +public class InsertionSort { + + /** + * 配列の値を小さい順に並び替えた結果を返却します。 + * @param ary + * @return + */ + public int[] sort(int[] ary) { + + int aryLength = ary.length; + + for (int i = 0; i < aryLength - 1; i++) { + //注目する配列の位置を1から最後尾まで順にずらすループ処理 + for (int j = i + 1; j > 0; j--) { + //左側の配列より値が大きければ入れ替える。小さければ正しい位置なのでループを抜け出す。 + if (ary[j] < ary[j - 1]) { + int tmp = ary[j - 1]; + ary[j - 1] = ary[j]; + ary[j] = tmp; + } else { + break; + } + + } + + } + + return ary; + } +}