Java-1
java.lang.Comparableな型を作って、
Arrays#sort(Object[])か
Collections#sort(List)
逆順はCollections#sortしてからCollections#reverseか,
Collections#sort(List, Collection.reverseOrder())で
しかし、Arrays#reverseはないので、
Arrays#sort→
Arrays#asList→
Collections#reverse→
List#toArray か
Arrays#asList→
Collectionの逆順→
List#toArray ..
jdk5 では Collections#reverseOrder(Comparator)が使える。
Java-2
java.util.Comparator なクラスを作成して、
Arrays#sort(Object[], Comparator) か
Collections#sort(List, Comparator)
逆順は、逆順用Comparatorを作ってやるしかない..
jdk5 では Collections#reverseOrder(Comparator)が使える。
C++-1
template<class T> bool ::operator<(T, T) を作成して、
std::sort(RI, RI)
std:list は list::sort()
逆順にする場合は std::not2(std::less かなぁ...
C++-2
std::binary_function<T, T, bool> なクラスを作成して、
std::sort(RI, RI, Pred)
list::sort(Pred)
# bool operator()(T, T) が実装されてたらそれでいいけど
逆順は not2(Pred)で
C
int (*comp)(const void*, const void*) な関数を用意して
qsort(void* size_t メンバ数, size_t sizeof(メンバ), comp)
comp は 2引数に対して <,=,> のそれぞれの場合に-1,0,1を返す。
Perl
sort SUBNAME LIST か
sort [BLOCK] LIST
BLOCKでは比較対象は$aと$b固定.
BLOCKの評価値は cmp, <=> と同じ基準
Python
a.sort([cmp/pred]) とか
a.sort(lambda x,y: xとyについてごにょごにょ) とか
らしい。
逆順はa.reverse()(aは配列クラスのオブジェクト)
Ruby
a.sort とか
a.sort {|x,y| xとyについてごにょごにょ} とか
らしい。
逆順はa.reverse[!](a はArrayクラスのオブジェクト)




