dポイントプレゼントキャンペーン実施中!

ポインタを用いた線形リストデータ構造を利用して,キーボードから順に入力した複数の整数値(int型)を空の「スタック」および「キュー」にそれぞれ保存し,取り出した時,出力される整数値を順に表示するプログラム.
動作確認のために入力する整数値は,年号と月の数字の部分とせよ(2008年5月なら,「2→0→0→8→0→5」の順).また,スタックとキューに保存されているデータがどのような順で出力されるかをそれぞれ表示するようにせよ.(スタックの場合は「5→0→8→0→0→2」の順で出力され,キューの場合は「2→0→0→8→0→5」の順で出力されることを表示させ確認せよ)
こうのようなプログラムを作らなくてはいけないのですが、まったくわかりません。参考にでもソースを教えていただけないでしょうか?
また、詳しく解説されている(初級と中級レベルそれぞれについて)サイトや書籍がありましたらそちらもお願いいたします。

A 回答 (3件)

リスト構造について説明しているサイトはたくさんありますが、


当方の目についたところを紹介します。

参考URLをごらんになってみてください。
ds02.html では自己参照構造体を説明しています。
同じサイトで、ds03.html ~ ds06.html というページへ行くと、
リスト構造について説明しています。

リスト構造などのデータ構造やアルゴリズムについての書籍も
たくさんあります。
人によってお薦めの本は異なりますが、当方は柴田望洋氏の
「新版 C言語によるアルゴリズムとデータ構造」あたりが
入門者向けではないかと思います。

参考URL:http://tdweb.cssa.chs.nihon-u.ac.jp/ds/ds02.html
    • good
    • 0
この回答へのお礼

ありがとうございました。あとは、自分でがんばってみたと思います。
今後機会があったらよろしくお願いします。

お礼日時:2008/05/12 02:41

リスト構造に関する知識はどのくらいお持ちですか?



スタックは「後入れ先出し」ですので、入力データを
リスト構造の先頭につなげていけばよいです。
そして、出力時にはリスト構造の先頭からたどっていきます。
そうすると、後から入力したデータほど先に取り出す、という
仕掛けを実現できます。

一方、キューは「先入れ先出し」ですので、入力データを
リスト構造のおしりにつなげていけばよいです。
そして、出力時にはリスト構造の先頭からたどっていきます。
そうすると、先に入力したデータほど先に取り出す、という
仕掛けを実現できます。

この回答への補足

回答ありがとうございます

 リスト構造については最近勉強し始めたばかりなのですが、知識としては、少しかじった程度だとおもいます。
リスト構造にポインターが入っているとプログラムが何をやってるのかがわからなくなります。ポインターは、基礎的なことしかわかりません。

補足日時:2008/05/11 19:12
    • good
    • 0

スタックやキューは、配列でも実装できます。



配列によるスタックやキューを実装するプログラムは書けますか?

この回答への補足

回答ありがとうございます。

参考書やwebなどで調べながらやれば時間はかかりますが、書けます。

補足日時:2008/05/11 18:30
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!