ちょっと前にFizzBuzz問題ってのが話題になって、 3で割り切れる場合は Fizz 5で割り切れる場合には Buzz 両方で割り切れる場合には FizzBuzz ってのを出力するプログラムを書きなさいなんていう。 コードが書けるのかどうかを見極めるための。
んなもん書けて当然だべよ、なんて思っていたわけですが、
今日はひょんな(?)きっかけで、ソートするプログラムを作ることになった。 DBから取ってくるときはorder byで、ファイルから取ってくるときはUnixコマンド。 プログラムでやるときも、CollectionUtilとか使ったりして、 自分で考えることなんて全然なかったりする。
で、30分くらい考えて、あーだこーだやってたら、完全に頭がイカれてきて (昨日飲みすぎて、極度の二日酔いだってのもありますが・・・) 結局、ネットでバブルソートのプログラムをパクってきて使うっていう。。
件数少ないからバブルソートでよくて助かった・・・
Perl Tips | Java で、バブルソートを実現する。 ↑ありがとうございましたm( )m
にしても、もうちょい普段から頭使わないとイカんなぁと。。。
import java.util.ArrayList; import java.util.List; public class SortTest { public static void main(String args[]) { List list = new ArrayList(); list.add(111); list.add(333); list.add(444); list.add(222); list.add(222); list.add(111); list.add(333); list.add(123); list.add(322); list.add(321); list.add(223); for (int i = 0; i < list.size(); i++) { for(int j = 0; j < list.size()-1; j++) { if (list.get(j) < list.get(j+1)) { Integer tmp = list.get(j); list.set(j, list.get(j+1)); list.set(j+1, tmp); } } } for (int i = 0; i < list.size(); i++) { System.out.println(list.get(i)); } } }
444 333 333 322 321 223 222 222 123 111 111