ソートアルゴリズム計画その1.1
クイックソートとバブルソートを書いてみました。
なかなか大変でした
public List<Integer> muchSort(List<Integer> list) { List<Integer> sortList = new ArrayList(); sortList = list; int size = sortList.size(); if (size == 1 || size == 0) { return sortList; } else { List<Integer> left = new ArrayList<Integer>(); List<Integer> right = new ArrayList<Integer>(); Integer center = sortList.get(size / 2); for (int i = 0; i <= size - 1; i++) { if (i != (size / 2)) { if (sortList.get(i) <= center) { left.add(sortList.get(i)); } else { right.add(sortList.get(i)); } } } List<Integer> result = new ArrayList<Integer>(); result.addAll(muchSort(left)); result.add(center); result.addAll(muchSort(right)); return result; } }
result.addAll(muchSort(left));
result.add(center);
result.addAll(muchSort(right));
の部分は再帰っていうらしいです
自分で生成できたらよかったのだけど
ここの部分はぐぐって参考にしましたorz
でも理解はできました!(時間かかったけど
今後がんがん使って行きたいとおもいます