• ベストアンサー

ソートについて

pochi1234の回答

回答No.2

インスタンスを生成して、配列を格納する方法もあるけど、 Student[] data = { new Student("さとう", 100); new Student("きむら", 90); } 質問者さんにとって、この方法はまだ難しいと思うので。 以下の方法で、 配列を2つ用意して String[] student = { "お", "え", "う", "あ", "い", }; int[] point = { 90, 70, 60, 80, 100, }; for文で (int i = 0; i < point.length; i ++) { point[] をバブルソート(何のソートでも良い)で交換する point[] を、1個交換するたびに、student[]も交換する } その逆をやりたかったら、もう1個for文を書いて student[i]の1文字目に対してバブルソートをして下さい。 Stringクラスの substring() とかのメソッドを使ったらできます。 ヒント if ( student[i].substring(0) > student[i + 1].substring(0) ) { ※検証してないので、間違っていたらすいません ※名前が漢字だったら、配列をもう1個作ってください。つまり1回につき3つ交換することになりますね。

関連するQ&A

  • J2SDK1.42 ArrayList ソート?

    ソートの仕方を教えてください。 下記のようなデータを年の順でソートしたいのですが。 格データを配列などで扱っているとしたらどのようなプログラムを組めばよいのでしょうか教えてください。 渡辺 50歳 埼玉県 鈴木 21歳 神奈川県 佐藤 40歳 沖縄県 array1 = new ArrayList();'array.get(0)が名前、array.get(1)が歳 array2 = new ArrayList(); array3 = new ArrayList(); などでは、歳をキーにしてSort()する方法はないのでしょうか? ほかによい方法があれば教えてください。 元データはCSVで配列などにいれてソートや絞込みが行えるようにしたいのですが。 以上よろしくお願いいたします。

    • ベストアンサー
    • Java
  • SQLによる"あいうえお"順でソートする表記方法とは?

    VBでSQLを使用するのですが、 とあるリストをあいうえお順で取得したいのです。 SQLによる"あいうえお"順でソートする表記方法とはどのようにすればよいのでしょうか?

  • Excelでのソートの方法

    Excelでソートをしたいのですが、並べ替えの方法が分りません。氏名をあいうえお順に並べ替える方法を教えて下さい。住所や電話番号が空欄になっている場所があると並べ替えられないのでしょうか?

  • 携快電話ZEROのアドレス帳ソートの問題について(au W51H)

    昨日、携快電話ZEROを購入いたしました。 アドレス帳のグループを編集し、及びリナンバー機能を用いてアドレスをリナンバーしようと思いましたが、アドレス帳のソートに問題があります。 数年前、以前の携帯で携快電話6や携快電話7を使用していたときには、名前順(あいうえお順)でソートし、リナンバー機能を用いることで名前順で綺麗にリナンバーすることができました。 今回も携快電話ZEROで同様のことをしようと以下の手順を実施いたしました。 (1)アドレス帳の画面から「表示」を「グループ」する。 (2)リナンバーをしたいグループを左側から選択する。 (3)「名前」のバーをクリックし「▲(昇順)」にソートします。 一瞬あいうえお順になっているように見えますが、よく見ると全然あいうえお順になっていません。 例えば、 安立 井本 吉田 ・ ・ ・ 青山 のような順番になってるんです。 上に挙げた例ならば、「青山」が先頭に来なくてはいけないと思うのですが… そんな状態でリナンバーして携帯にデータを上書きしても、アドレス帳グループ内で番号がめちゃくちゃになってしまいます。 携快電話ZERO付属のケーブル、au W51H付属のケーブルを用いて通信してみましたが、どちらも症状は変わらずでした。 このような症状に遭遇された方っていらっしゃいますでしょうか? また、解決方法がありましたら教えてください。

  • javaのソートについて。

    うまく文章で伝えられないかもしれませんがお願いします。 csvファイルの中に 名前、住所、電話番号、アドレス と入った一文が複数あるとします。 これを名前の50音順に並べたいのですが、 文字でもArrays.sortでソートは可能でしょうか? 一応やってみたのですがうまくいきませんでした。 さらに質問なんですが私はこのcsvファイルの一文を削除したり、変更したりというプログラムを作っています。 変更や削除の場合は一度配列に全ての文を入れてその後削除、変更を行った後に またファイルに書き込むという形をとっています。 この場合50音順に並べるには一度書き込みが終った後もう一度読み込んでソートをして 書き込みなおすしか方法はないのでしょうか? ご教授お願いします。

    • ベストアンサー
    • Java
  • ソート処理について

    毎回お世話になっています。課題でソート処理が出題されたのですが、フローチャートすら書けない状況なので、どなたか力を貸していただけないでしょうか? 【処理概要】 個人成績表からレコードを取得し、取得したレコードを点数の高い順にソートし、順位・氏名・点数を個人成績表に出力する といったものです。 個人成績表は、氏名と点数の2項目で、レコード数は自由です。 とりあえず、私は10レコード作ったのですが、いろいろな個人成績表に対応できるように「レコード数は不明」の前提で、コーディんグするようにとのことです。 個人成績順意表は、「順位・氏名・点数」の順に出力とあり、 ソートの考え方として、【レコードを配列に取り込む→レコードを取り込む際に件数をカウントし、件数をn件とする】 とありました。 VBは全くの素人で、ソートに種類があることすら知らず、使い分けも知りませんでした。 どなたか力を貸していただけないでしょうか? 【自作個人成績表】 青木        076 井上        081 江藤        066 柏原        092 小林        087 斉藤        059 佐久間       076 関根        088 塚田        096 富田        083 となっています。 よろしくお願いいたします。

  • 構造体のリストをソートしたい。

    ある名簿のリストを作りました。 以下のような構造体で、 typedef struct meibo{ char name[10]; int old; struct meibo *next; }MEIBO; これを、ポインタp->next->nameをたどっていって、名前が辞書順になるようにリストを作ったのですが、 これを年齢順にソートして表示させたいんです。 どんな方法があるんでしょうか? 一旦すべてを配列に格納して、クイックソート…とかも考えたのですが、すごく領域をとるし、なんか2度手間(最初から配列に順に格納していけばよかったなぁ・・・と。 それでもやっぱり最初から名列順にするときから配列に入れておくほうがいいのでしょうか? 教えてください。 (最初から年齢を比較してリストを作れば・・ってのはなしで、名列順のリストが存在するものとしてください。)

  • 2つの配列のソート

    配列のソートについての質問です。 よろしくお願いします。 var syouhin = new Array(10); //商品名 var kosuu = new Array(10);  //商品個数 syouhin[0] = "apple"; syouhin[1] = "orange"; ... syouhin[9] = "banana"; kosuu[0] = "4"; kosuu[1] = "2"; ... kosuu[9] = "5"; 個数は[]の数字の商品に対応。 個数をソート kosuu.sort(); ここでソートした個数に対応して商品もソートして、 for (i=0; i<kosuu.length; i++){ document.write(syouhin[i],kosuu[i],", "); document.write("<br>"); } と表示したいのですが、ソートした個数に対応した商品のソートの 仕方がわかりません。 どのような方法があるのでしょうか? よろしくお願いします。

  • javascriptで2つのArrayの同時ソート

    javascriptをしています。そしてArrayを2つ用意してArray1の変化をArray2にも同時に適用しながらソートしたいと考えているのですが、どんな方法で実行すればよいのか分かりません。 例としまして 4 あ     2 お 2 お     4 あ 6 う  →  5 い 5 い     6 う 7 え     7 え という具合に、Array1には4,2,6,5,7がありArray2にはあおういえという情報がはいっています。 そしてArray1の数値を小さい順に並べ替えるのと同時にそれに合うようにArray2の情報も変えるということがしたいのです。 Arrayには多重ArrayというArray[0][1]というのもありますが、これも使えるのでしょうか? アドバイスでもありがたいですが、プログラムの具体例を上げてくれると更にありがたいです。 よろしくお願いします。

  • 筆ぐるめ2004での住所録のソートは?

    筆ぐるめ2004で、住所録画面の一覧表示で、本来名前順(あいうえお順)で表示されるのですが、それを、どこかにコード番号を入力しておいて、コード番号順に表示させるにはどのような方法が、ありますか?また、コード番号を割り当てるには、どのようにすればいいのでしょうか? よろしくお願いします。