0
sortするに一番適したクラスは?
doule [][]型の配列をもっています。すべての要素にintが入っています。これを、最初の列に従って、0,1,2,....のようにソートしたいです。
色々な方法があると思いますが、皆さんはどんなクラスを使っていますか?
0
doule [][]型の配列をもっています。すべての要素にintが入っています。これを、最初の列に従って、0,1,2,....のようにソートしたいです。
色々な方法があると思いますが、皆さんはどんなクラスを使っていますか?
0
最も簡単なのはバブルソートかと思われます。
0
K Zさんありがとうございました。
0
Javaで使ったことはないですが・・。
逆に並びが変わらないことを意識したりすることはあったけど。
"java sort"とかでググッてみては?
java.util.Arrays#sort()とか使えると思うけど。
0
こんにちわ。
doubleにintを入れるのはもったいない気もするのですが。
[][]のオブジェクトを楽にソートするmethodは
今のところないので、自作してがんばってください。
まあさんの書かれている通りArrays#sortで行うのが一般的だと思います。
特殊なソート(Classが特殊、値が特殊など)の場合、比較クラスであるComparatorを継承しておこなうと労力は減ります。
ソートのコストは思っているよりかかるので
適したソートを選択できることを願っています。
0
>doubleにintを入れるのは・・
というので気付いたけど、
一応整数値しか使ってないので問題はないかも?と思いますが・・ないかな?
計算で誤差が出やすくなる筈なので、もったいないというだけでなく、ご注意を!
かも・・
0
こんなんで。
double d = 0x7fffffffffffffffL;
double e = 0x7ffffffffffffffeL;
System.out.println(d - e);
0
皆さんあいrがとうございます。
ちょっと急いでいtsので、すごい乱暴な方法でやっちゃいました。for文とif文を使って、double[][]に一つずつ埋め込みました。
今夜皆さんからの指摘に沿ってやってみます。
0
正確には覚えてないけど、たしか0.1とか非常に苦手だったような・・。
人間が扱うのは大抵10進だし、もっと普通に
System.out.println(0.1 * 0.1);
System.out.println(0.2 * 0.2);
System.out.println(0.3333333333333333 * 3.0);
とか。
0.333...のは5個くらい1個ずつ3を削って見てみるとか。
0
ほんごさん:
「intが入っています」というのは、型としてのintではなく「整数」という意味なんでしょうか?
型としてのintだとすれば、配列をdoubleで取るのは、いろいろな面で無駄です。
整数としてのintだとしても、intもしくはlongで扱えないほどの整数が、本当に必要なんでしょうか。
変数には適切な型を割り当てましょう。
まあさん:
>正確には覚えてないけど、たしか0.1とか非常に苦手だったような・・。
C系の言語(浮動小数点処理)で、必ず意識せねばならないところですよ…。
0
0.1がだったか・・というところですけどね。
浮動小数点フォーマットレベルで見てたりコード書いてたりもしましたけど、何十年も前のことなので厳密なところは忘れちゃいました・・。
0
浮動小数点フォーマット以前に、2進数の話です。
0
フォーマットの中身は2進数で扱われているのです。
0
…?
質問から6ヶ月以上経過しているので、回答を書き込むことはできません。