• 締切済み

java ソーティング バブルソート 昇順

Javaです テキストファイルを読み込み、ソーティングしてから書き込む ソーティングはバブルソートで行う テキストファイルは50行まで一行は10文字以内 読み込み書き込みはプログラム内で行う 半角英数字のみのテキストファイルとからのテキストファイルを用意する (ASCIIコードで昇順) 入力ファイル 1231 1f23 出力ファイルは 1231 ・・・・

みんなの回答

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

質問は何でしょうか? 注意: 「プログラムを作ってほしい」というのは「質問」ではない.

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Java バブルソート

    テキストファイルに文字が書き込まれていて、その文をASCIIコード順に並び替えるのですがStringからintに変換してバブルソートを行えばよろしいのでしょうか 詳しくお願いいたします 1行は10文字  50行までです 別ファイルに書き込みます sample1.txt cfd cad fa sample2.txt ・・・ ・・・

  • C#でバブルソート

    テキストボックスに任意の整数を複数個入力し、ボタンを押すことで入力した数字を別のテキストボックスに昇順・降順表示するプログラムを作りたいと思っています。 例えば 入力用テキストボックスに1、10、5をキーボードで入力 ↓ 作っておいた「昇順に並び替え」のボタンをクリック ↓ 出力用テキストボックスに1、5、10と表示される (「降順に並び替え」のボタンをクリックした場合は、10、5、1と表示) といった感じです。 バブルソートを使って作りたいのですが、超初心者のため、数字同士の比較?や、テキストボックスへの出力の仕方が全く分かりません。 分かりにくい文章のみの状況説明になってしまいましたが、ご指導よろしくお願いします。 マイクロソフトのビジュアルのC#プロジェクトです。

  • 昇順ソート

    sort.txtから読み込んだ値を 昇順でソートして出力するにはどうしたらよいでしょうか? #include <stdio.h> #include <stdlib.h> #include <string.h> #include <search.h> /* 比較関数 */ int strcmp_asc(const void *, const void *); int main(void) { FILE *fin, *fout; int i; int length; char s[256], s2[256]; if( (fin=fopen("sort.txt","r"))==NULL) { printf("入力ファイルがオープンできません\n"); exit(EXIT_FAILURE); } if( (fout=fopen("file2.txt","w"))==NULL) { printf("出力ファイルがオープンできません\n"); exit(EXIT_FAILURE); } while(fgets(s, 256, fin) != NULL) { /* 要素数を求める */ length = sizeof(s) / 256; /* 昇順でソート */ qsort(s, length, 256, strcmp_asc); /* memset(s2, NULL, sizeof(s2)); for (i = 0; i < length; i++) { } */ fprintf(fout,"%s\n",s2); } fclose(fin); fclose(fout); return 0; } int strcmp_asc(const void *sa, const void *sb) { return strcmp((char *)sa, (char *)sb); } sort.txt 50 45 35 25 15 10 5 1 32 46 8 7 9 19 18 14 16 13 12 17 11 20 40 30 31 3 2 37 38 36 33 39 34 49 47 48 4 6 44 42 43 41 21 22 26 24 28 29 27 23

  • Sortコマンド以外で行をソートする方法

    Sortコマンドを使ってテキストファイル内の行をソートしていたのですが、扱うテキストファイルの内容によってエラーが出てしまい、エラーメッセージをWEBで検索して書かれていた対策をしたのですがうまく行きませんでした。 ですので、Sort以外のコマンドで、テキストファイル内の行を昇順と降順でソートしたいと考えているのですが、何か方法はないでしょうか。 Windowsのコマンドプロンプトで使用出来るものであれば、AWKでもPerlでもその他のコマンドでも構いませんし、スクリプトファイルを読み込めるコマンドでしたらスクリプトでの書き方でも結構ですので、ご存知の方がおられましたら教えて頂けないでしょうか。

  • sortコマンドについて

    mako-kwnshともうします。 タブで区切られたテキストファイルの 1番目と4番目の項目の昇順にソートしたいのですが可能なのでしょうか?

  • 多段ソート

    C言語というよりはアルゴリズムの話です。 [名前], [生年月日] の2つのカラムで表される固定長の行データが羅列されたファイルがあります。 また、各カラムを比較して行をソートした場合にどの行が何番目にくるかといったインデックス情報を木構造で保持したファイルがあります。 (このファイルは行データの追加・削除時に更新される) これらのファイルを利用して、生年月日でソートし、かつ日時が同じ場合は名前順にソートした場合の上から10個分だけのデータを取り出したいのですが、効率のよい方法は無いでしょうか? 全データを読み込んでから、バブルソート等の順序を崩さないソートを多重にかけることはなるべく避けたいのです。 そのためにソート済みのインデックス的な役割を持つファイルを用意しているのですが、多段ソート時にどう応用すればよいのかわからなくなってしまいました。 例 日時、名前の順にソートされた上4つ分のデータが欲しい。 【一覧】 [1行目] 10/20, Aさん [2行目] 11/30, Fさん [3行目] 9/10, Cさん [4行目] 11/30, Bさん [5行目] 12/10, Dさん 【生年月日でソートされた インデックス】 9/10, 3行目 10/20, 1行目 11/30, 2行目 11/30, 4行目 12/10, 5行目 【名前でソートされた インデックス】 Aさん, 1行目 Bさん, 4行目 Cさん, 3行目 Dさん, 5行目 Fさん, 2行目 得たい結果 [3行目] 9/10, Cさん [1行目] 10/20, Aさん [4行目] 11/30, Bさん [2行目] 11/30, Fさん

  • Rubyで配列をソートする

    15(tab)5634(改行) 24(tab)4446(改行) 24(tab)8357(改行) 24(tab)3287(改行) 56(tab)5465(改行) 56(tab)1324(改行) 56(tab)7544(改行) 上記のように1行にtabで区切られた2つの数値が並んでいるテキストファイルがあります。 このファイルを、Rubyを使って1列目が同じ数字の行ごとにソートしたいのですが、できなくて困っています。 上の例でしたら、1列目が24の3行を2列目の数値をキーとしてソート、1列目が56の3行を2列目の数値をキーとしてソートするということです。 一行ずつ読み込んで、array = line.split(/\t/)でタブでくぎって配列に格納するスクリプトを書いていたのですが、どうしてもできないので、力を貸していただけないでしょうか。 よろしくお願いします。

  • プログラミングで

    当方、環境はUNIXでプログラミング初心者なのですが、 整数型二次元配列[5][5]宣言; ファイルポインタ宣言; 読み込みファイルオープン; ファイルから読み込みループ; 行の昇順ソート; 列の昇順ソート; 出力ループ; ファイルクローズ; リターンゼロ; これをプログラミングする場合は main(){ からテキストファイル名はsort.txtと仮定すると どのように書いたらいいのでしょうか?

  • Javaプログラム内でソートすべきか悩んでいます。

    Javaプログラム内でソートすべきか悩んでいます。 開発環境は j2sdk1.4.2 eclipse3.2.0 Oracle10g(ドライバはThin接続) です。 処理の大まかな流れは以下の通りです。 1. 社員番号リスト(100,000件)を読み込む。(txtファイルで社員番号の順番はソートされていない) 2. 次の3で検索を行うために社員番号を1000件単位でリスト化する。 例:下記のような文字列を作成し、ArrayListに入れる   ('000077','0100002','0000503',~,'0080400') 以下の処理は2で作成したArrayListの件数繰り返す 3. データベース検索を行う。 社員番号を検索キーに検索を行う。(2で作成した文字列を 社員番号 in 「文字列」のような形で) 4. 検索結果(1レコードにつき20項目)をファイルへ出力する。(CSVファイルへ結果を追記していく) 4で結果を出力するのですが、ソート条件が決められています。 条件は「住所コードの昇順」、「社員番号の昇順」です。 住所コードはDB内のデータにあります。 3の検索結果をメモリに蓄積して全件取得を終えたらソートしようと思いましたが、 OutOfMemoryエラーが発生してしまいました。 ひとつ案を考え、2の処理を終えたあとにDBから住所コードと社員番号を取得して TreeMapに全件を蓄積(キーは「住所コード + 社員番号」、データは社員番号)し、 (このデータでOutOfMemoryエラーは発生しませんでした) 自動的にソートされた社員番号で再度2~4の処理を行うのですが すごく処理時間が増えてしまい効率が悪い気がします…。 処理時間の短縮、メモリ使用の抑制を考慮した良い案はないでしょうか?

    • ベストアンサー
    • Java
  • テキストファイルの行をソートする各5文字目の文字でソートする方法はありませんか

    テキストファイルを行毎にソートする方法はありますが、 行始めに番号などが付いている為、それを避けて例えば5字目を注目、それでソートする方法があったら教えてください。