2008-04-18

http://anond.hatelabo.jp/20080418014735

Javaでは、Arrays.sort(Object[] a, Comparator c) やCollections.sort(List list, Comparator c)

のCompatarorを自分で「・・・・ソート」に実装しろ、でいいはずなんです。

(aやlistの要素がcomparableを実装してないと使えませんが・・・。)

C++ではSTLを使えば出来るそうですが、こっちの方が簡潔に書けると思います。

ソート方法はクイックソートが一番実用的で、sortではComparatorを指定しない限り

デフォルトクイックソートを使うのでComparatorを意識する事はあまりないんですけどね。

記事への反応 -
  • 中学のときJava厨だった。 高校になってC++やってJavaとの差に愕然。 自分がいかに楽な環境にいたかということがやっと分かった。 Javaならクラスライブラリから目的の機能を持ったクラス...

    • そのC++の授業は、コード開発能力を高めるためというよりも、アルゴリズムの学習に主眼をおいてるのではないかな? ソート方法を例にとると、そのアルゴリズムを学ぶことが重要なわ...

      • Javaでは、Arrays.sort(Object[] a, Comparator c) やCollections.sort(List list, Comparator c) のCompatarorを自分で「・・・・ソート」に実装しろ、でいいはずなんです。 (aやlistの要素がcomparableを実装してないと...

        • すみません、訂正します。 デフォルトのConparatorはconparableを実装したオブジェクトをソートします。 自分でConparatorを作って使う場合にはこの限りではありません。 あと、デフォルトのソ...

        • そもそも並び順を意識した配列が必要なら、mapを使うなぁ。 わざわざ一度配列に入れてからソートし直すのって、無駄だよね。 そういう点も含めて、アルゴリズムなんじゃないだろうか...

    • 先にCをやってると、「Cならこう書けるのに!」とイライラするからたいして変わらない。

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん