• 締切済み

待ち行列(キュー、FIFO)を実現するプログラム

どうも。 「待ち行列(キュー、FIFO)」を実現するプログラムを作成してください。お願いします😢  出来ればC++言語がいいのですが、C言語やJava言語でも構いません。 解説があればありがたいですが そこは自分で見て学ぼうと思いますので。 宜しくお願いします。

みんなの回答

  • mink6137
  • ベストアンサー率23% (595/2498)
回答No.3

単なるプログラムの勉強なら、以下読み捨てて下さい。 実現したいFIFOの目的(用途)は何でしょうか? プログラムは勉強すれば誰にでもできます。 ある目的(用途)のFIFOを作りたいのなら、機能・仕様の設計が先決です。 半導体にFIFOメモリというものが有りますので、データシートなどで基本的な部分を 勉強して下さい。 あなたの専門がソフトウエアでもこれがどんな機能・仕様かを知っておくのは最低必要で、 その上に種々の新機能を付加したりするなどの独自設計が必要になるでしょう。 できればアセンブラでプログラムするとハードウエアの動きもイメージすることが できますよ。

Trafalgar_law
質問者

お礼

mink6137さんの プログラムは勉強すれば誰にでもできます。 の言葉を支えにしてどうにか乗り切っていこうと思えました ありがとうございました。

  • KSOH
  • ベストアンサー率93% (29/31)
回答No.2

Wikiの「C++標準ライブラリー」の項目をみると標準ライブラリーの中にqueue,stack等々の汎用コンテナークラスが含まれているとありますのでC++開発環境を普通に準備すれば利用可能だと思います。 多分こういったものは大抵の標準ライブラリー的なものをもつ言語では普通に利用可能だと思います。例えばJavaの標準ライブラリーにもjava.utilパッケージの中にそういったコンテナークラスがありますしそうしたければソースを見ることもできます。 なお、単に利用するだけでなくこの手の基本的アルゴリズムを勉強する目的なのでしたら、こういったライブラリーのソースをみるよりは、アルゴリズムの本などを参照しそこに多分載っているであろう簡単な例をみたた方が理解しやすいかも知れません。なぜなら標準ライブラリーのようなものはある程度高機能になっておりその実装は必ずしもシンプルとは限らないからです。こういったソースを見るのはアルゴリズムの基本が理解できてからそのライブラリーが提供するクラスの特徴をつかむといった目的のことが多い気がします。尤も極端に難しいという程でもないので初歩レベルであってもこういったライブラリーを読んでそこから学ぶことも可能だとは思います。

Trafalgar_law
質問者

お礼

もう少し根底から勉強したいともいます。 回答ありがとうございました。

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

わざわざ「キューを実現するプログラム」を作るのはなぜ?

Trafalgar_law
質問者

お礼

私にもわかりません。。。

関連するQ&A

  • 待ち行列の実現ができません

    待ち行列の実現で、待ち行列が空であることを示すフラグを別途に用意することで実現させることを javaでプログラミングすることができません。どうすればよいのでしょうか。

  • キューの実現方法

    配列によるキューの実現方法、リストによるキューの実現方法の二つのキューの実現方法について教えてください。 またその二つの長所、短所等もできればお願いします。 自分は大学院生ですが、化学が専攻なためパソコンやプログラムに関してあまり知識がありません。 文献等見てみたのですが、あまり意味がわかりません。 わかりやすく教えてもらえればうれしいです。 すいませんがよろしくお願いします。

  • SCHED_FIFOについて

    SCHED_FIFOについて学びたいのですが、どのような本を買えばSCHED_FIFOについて理解することができますでしょうか?あるwebページにSCHED_FIFOを用いてリアルタイム制御をする方法とそのC++プログラムが載っていのですが、プログラムを見てもさっぱりわかりません。そのプログラムをもとにロボット制御用のプログラムを作成したいと思っているので、できればプログラムの中身を理解したいのですが、どのようなキーワードで本を探せば良いでしょうか?

  • メッセージキューのFIFOの保証

    Solaris10を使用しています。 プロセスAがメッセージキューXに対してメッセージを投げます。 プロセスBがキューXからメッセージを受け取り、処理をします。 プロセスBは複数プロセス(B-1,B-2・・・)あり、すべてがキューXでメッセージを受け取り処理をします。(A:B=1:多になる) この場合 (1)メッセージキューXのFIFO(先入先出)は普通保証されるでしょうか。 (2)プロセスBはメッセージ取得順にメッセージの割り当てが行われるでしょうか。(つまりB-1が先でB-2が後から取りに行ったらB-1に先にメッセージを渡すのが保証されるかどうか。) (3)上記を行うためには、キューの作成もしくはOSのパラメータの設定が必要か、必要ならどれを設定すればいいか。 よろしくお願いします。

  • BASIC:行列式の値を求めるプログラム

    BASIC言語で行列式の計算を求めるプログラムを作りたいのですが、どなたか具体例等で教えていただけると助かります。

  • 行列の計算について。

    こんにちは。 JAVAで行列の計算をするプログラムを作っていますが、なかなかうまくいきません。 自分で考えたのはfor文を使った物です。行列数を入力するとその数だけの行列を作る、という物なのですが、どうもうまくいきません。 「2」を入力すると、 │1 2││5 6│ │   ││   │ │3 4││7 8│ こんな2行2列の行列の計算をする、というものです。 for (int i =0; i < 2; i++){ for (int j = 0; j<2; j++){ for (int k = 0; k<2; k++){ C[i][j]=C[i][j]+a[i][k]*b[k][j]; } } } 上のようなプログラムを考えました。 JAVAには行列の計算をする専用の関数(クラス?)などあるのでしょうか? また、ソースなど教えていただけると、とても助かります。 CからJAVAに急に移ったので、つまづくことが非常に多いです。 よろしくお願いします。

    • ベストアンサー
    • Java
  • 麻雀ゲームプログラムを組みたい

    麻雀ゲームのプログラムを組もうと思っているのですが、点数判定のアルゴリズムについて解説しているサイトなどはないでしょうか?私もいくつか探してみたのですが、なかなかこれだというものがありません。言語はjavaとC#を使っていますが、C++など他言語での解説でも問題なく、考え方や効率的な順番などが解説されているものを望んでいます。どなたか知っている方がいましたら、教えて下さい。

  • JAVAで作成したプログラムは外部からの指示をどうやってうけとるのか?

    このたび、JAVAで、通信関連のプログラム(常駐)をつくることになりました。それで、このプロセスに対して外部からコマンド(終了の指示、何か処理をしなさい等)を発行したいのですが、そのインターフェースが判りません。 OSはSolaris又はLinuxを採用する予定です。C言語で作成した時は、メッセージキュー、シグナル等を使用していたのですが、100% pure JAVAの環境で、このような外部からコマンドを受け付ける仕組みは、作成できるのでしょうか。ご存じの方おりましたら、教えて下さい。

    • ベストアンサー
    • Java
  • stat関数をJavaで実現するには?

    C言語をJavaで置き換える質問です。 C言語のプログラムで下記のようなファイルチェックを行っています。  struct stat st;  stat(file, &st);  if ((st.st_mode & 040000) == 0 ||    (st.st_mode & 020000) == 0) {    エラー処理  } 上記の処理をJavaではどのように実現できるでしょうか? 環境は下記の通りです。 OS:Solaris 9 J2SE 5.0 ご教授願います。

  • Javaを使った行列計算

    Javaを使って行列の固有値などを求めるプログラムを 作りたいと考えています。そこで、自分で全て実装する前に Javaのライブラリの中に行列を扱うクラスなどがあるのならば それを利用したいと考えています。そこで、Javaのライブラリに 行列計算に適したクラスなどは用意されているでしょうか。 もしありましたら、教えて頂きたいと思います。お願いします。

    • ベストアンサー
    • Java