配列(コレクション・コンテナの類含)のソート [misc]

| コメント(0)

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:listlist::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クラスのオブジェクト)

注:PythonとRubyについてはググってみた程度。

コメントする

AUTHOR

  • turugina (虎王 剱奈)
  • E-mail: turugina {at} floralcompany.jp
  • pixiv
  • ニジエ

2014年5月

        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

アーカイブ

OpenID対応しています OpenIDについて
Powered by Movable Type 5.2.10

- 警 告 -

本サイトにはいわゆる「18禁画像」(イラスト)へのリンクが存在します。 未成年の方や、その手の画像に不快感を覚える方は、 該当記事(「えちぃの」及び「ちょっとえちぃの」カテゴリ) をご覧にならないようお願いいたします。

上記を理解した上で非表示のブログパーツを表示する
あわせて読みたいブログパーツ
ついった
drawr/pixiv/twitpic