- 締切済み
インデックスソート
Javaに、インデックスソートを実行するライブラリーはありますか? 例えば、 {24,16,12,11,18,16} の入力に対して、昇順ソートしたときのインデックス位置 {3,2,1,5,4,0} を出力してくれるようなライブラリを探しています。 どなたか、ご存じないでしょうか? 以上、よろしくお願いいたします。
- みんなの回答 (9)
- 専門家の回答
みんなの回答
- hrm_mmm
- ベストアンサー率63% (292/459)
関連するQ&A
- アルファベットのソート
Javaでクイックソートを使って、アルファベットを昇順に(スペースより小文字の方が大きい、小文字より大文字のほうが大きいものとする)並べ替えたいのですが、比較方法がよくわかりません。ご教授お願いいたします。 入力は、キーボードからの入力でchar型配列です。
- ベストアンサー
- Java
- Pythonの2次元配列のソート
Python3の2次元配列のソートについて教えて下さい [[1, 2], [1, 3], [2, 4]]のようなリストのソートで 昇順ソートでインデックス0が同じならインデックス1は降順でソートしたいと思ってます。 結果が以下のようになるようにしたいです 1 3 1 2 2 4 よろしくおねがいします。
- 締切済み
- Python
- ソートプログラムについて
ソートプログラムとして以下のように作成しました。 int main( ) { int i, j, temp; int ten[10] = { 98,34,67,89,99,23,54,21,10,65 }; for (i=0; i< 9; i++) { for(j=i+1; j<10; j++) { if (ten[i] < ten[j]) { temp = ten[i]; ten[i] = ten[j]; ten[j] = temp; } } } for (i = 0; i < 10; i++) { printf("SORT[%d] = %d\n",i,ten[i]); } } このプログラムを昇順で同じ数字が入力された場合、出力表示として 例: SORT[1]=99 SORT[2]=98 SORT[2]=98 SORT[3]=89 SORT[4]=70 というようにしたいのですが、プログラムをどのように 書いていけば良いのかわかりません。 例のような出力にするにはどのようにすればいいのでしょうか 教えて下さい。
- ベストアンサー
- C・C++・C#
- C#でバブルソート
テキストボックスに任意の整数を複数個入力し、ボタンを押すことで入力した数字を別のテキストボックスに昇順・降順表示するプログラムを作りたいと思っています。 例えば 入力用テキストボックスに1、10、5をキーボードで入力 ↓ 作っておいた「昇順に並び替え」のボタンをクリック ↓ 出力用テキストボックスに1、5、10と表示される (「降順に並び替え」のボタンをクリックした場合は、10、5、1と表示) といった感じです。 バブルソートを使って作りたいのですが、超初心者のため、数字同士の比較?や、テキストボックスへの出力の仕方が全く分かりません。 分かりにくい文章のみの状況説明になってしまいましたが、ご指導よろしくお願いします。 マイクロソフトのビジュアルのC#プロジェクトです。
- 締切済み
- その他(プログラミング・開発)
- VBAでもsort
今、FOM出版のVBAの実践編を勉強中です。宜しくお願いします。 その中の「sort」メソッドでどうしても納得できず、前に進めない事があります。 構文:rangeオブジェクト.sort(kye1,order1,key2,order2,key3,order3,header) これは理解できるし、どこも省略せずに記入すればその通りに動くのですが orderは省略でき、省略した場合は昇順に並べ替えられると本には載っているのですが 私の記述はうまくいきません。 なぜ、こうなるのか教えてください。 B3 C3 D3 No. 氏名 住所 という表があり、氏名を昇順に並べようとしています。 構文通りに Range("B3").Sort key1:=Range("C3"), order1:=xlAscending, header:=xlyes とすれば問題なく Range("B3").Sort key1:=Range("C3"), header:=xlyes と記述すると、最初はうまくいきますが もう一度試そうと氏名欄を降順に並べ替え、それから実行すると動きません。 また、No.欄を昇順に並べ替えて実行するとちゃんと動き No.を降順に並べ替えて、氏名欄を昇順で並べ替えを実行すると氏名欄も降順で 並べ替えられてしまいます。 なぜ、こんな安定しない動きをするのかがわかりません。 初歩的な質問で申し訳ないのですが、どうしても気になって先に進めないので どうぞ教えてください。 ちなみに、もう一度試そうとNo.欄を並べ替える時は、エクセルの昇順降順アイコンで 並べ替えています。これが問題なのでしょうか?
- ベストアンサー
- Visual Basic
- モジュール分割
以下のようなJAVAプログラムを作成しなさい。 ただし単一のクラスのmainメソッドのみから構成されるプログラムにすること 1個以上の整数を入力して、それらの合計、平均、最大値、最小値を求めて出力する。 されに入力された整数を、入力された順序で表示する。入力された順序と逆に表示する。昇順にソートして表示する。降順にソートして表示する。これらの処理は、整数の入力後に、繰り返し入力できる。 動作例 入力する整数の個数(1個以上)を指定してください 4 整数を入力してください 1個目:3 2個目:6 3個目:2 4個目:7 処理を選択してください 1.合計 2.平均 3.最大 4.最小 5.順表示 6.逆順表示 7.昇順ソート 8.降順ソート 0.終了 2 <平均> 4.5 処理を選択してください 1.合計 2.平均 3.最大 4.最小 5.順表示 6.逆順表示 7.昇順ソート 8.降順ソート 0.終了 0 というものなのですが自分でやってみたところ一つ一つ動作することはできるのですが、 繰り返しの処理になると何故か終了が機能しなくて困っています。 もうあまり時間もなくて出来れば解答をお願いしたいのですけど、 どなたかわかる方がおりましたらお願いいたします。
- 締切済み
- Java
- 挿入ソートとマージソート
挿入ソートとマージソートの問題を解いているのですが、 途中で行き詰ってしまいました。 (問題文) サイズnの入力に対して、挿入ソートの実行には8n~2ステップかかり、 マージソートの実行には64nlnnステップかかる。 挿入ソートがマージソートに勝るnの値を求めよ。 補足:ln=eを底とするlog (挿入ソートがマージソートに勝る=挿入ソートがマージソートより実行時間が早い) 8n~2 <= 64nlnn 8lnn=n e~n=n~8 こういう感じで自分なりに考えてみたのですが、nの値をどのように出して良いのかわからず困っています。 どなたかご教授いただける方いましたらよろしくお願いします。
- ベストアンサー
- その他([技術者向] コンピューター)
- エクセルのソートのマクロ
エクセルでのソートのマクロを教えてください。 範囲選択は手動でその都度変更します。優先列、昇順は変更ありません。 例えば、AからE列までデータがあり、第一優先列をD列、第二優先列をA列として、それぞれ昇順でソートします。 範囲はその都度手動で複数行を全列選択します。 つまり、適宜、複数行を選択してからこのマクロを実行すれば常に先の形式でソートできるようにしたいです。 わかりにくい記述で恐縮ですがよろしくお願いします。
- ベストアンサー
- その他MS Office製品
- 富士通FMVで高温の警告が頻繁に表示される問題が発生しています。掃除しても解消されない場合、小さなファンを設置することで問題が解消することがあります。
- 富士通FMVの高温警告は、掃除をしてもなかなか解消されないことがあります。この場合、うしろに小さなファンを設置することで問題が解消されることもあります。
- 富士通FMVで高温の警告が表示される場合、掃除をするだけでは解消されないことがあります。そのような場合は、うしろに小さなファンを置いて冷却することが有効です。
お礼
>プリミティブ配列をオブジェクト配列に変換しないでスマートに書けますか? 自己レスです。 すみません。意味不明なことを書いてしまいました。 上記の内容は、無視してください。 何を思ったかといえば、この方法と私の書いた方法とでは、 コンパレータの実装を無名クラスで書いたか有名クラスで 実装したかの違いしかないのでは? と、思った次第です。
補足
なるほど、これは素直な感じです。 ところで、この方法でArrays.sort(*)に倣って sortIndex(byte[] a) sortIndex(char[] a) ~ sortIndex(double[] a) sortIndex(Objct[] a) まで、全てのプリミティブ配列とオブジェクト配列までを 対象としたインデックスソートメソッドを実装するとなると、 どのようになるのでしょう。 プリミティブ配列をオブジェクト配列に変換しないでスマートに書けますか?