二桁の西暦のソート
30分プログラム、その542。二桁の西暦のソートをやってみる。
元ネタはhttp://gauc.no-ip.org/awk-users-jp/blis.cgi/DoukakuAWK_105だけど、先頭二桁とかはややこしいので考えず、単純に整数だけのソートにしてみた。
使い方
1> year_sort:sort([07,06,05,00,98,97]). [97,98,0,5,6,7]
ソースコード
-module(year_sort). -compile([export_all]). normalize(X) when X > 70 -> X+1900; normalize(X) -> X+2000. compare(X,Y) -> normalize(X) < normalize(Y). sort(List) -> lists:sort(fun compare/2,List).