ソート処理ねぇ・・・

ちょっと前に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