![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
ポインタを用いた線形リストデータ構造を利用して,キーボードから順に入力した複数の整数値(int型)を空の「スタック」および「キュー」にそれぞれ保存し,取り出した時,出力される整数値を順に表示するプログラム.
動作確認のために入力する整数値は,年号と月の数字の部分とせよ(2008年5月なら,「2→0→0→8→0→5」の順).また,スタックとキューに保存されているデータがどのような順で出力されるかをそれぞれ表示するようにせよ.(スタックの場合は「5→0→8→0→0→2」の順で出力され,キューの場合は「2→0→0→8→0→5」の順で出力されることを表示させ確認せよ)
こうのようなプログラムを作らなくてはいけないのですが、まったくわかりません。参考にでもソースを教えていただけないでしょうか?
また、詳しく解説されている(初級と中級レベルそれぞれについて)サイトや書籍がありましたらそちらもお願いいたします。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
リスト構造について説明しているサイトはたくさんありますが、
当方の目についたところを紹介します。
参考URLをごらんになってみてください。
ds02.html では自己参照構造体を説明しています。
同じサイトで、ds03.html ~ ds06.html というページへ行くと、
リスト構造について説明しています。
リスト構造などのデータ構造やアルゴリズムについての書籍も
たくさんあります。
人によってお薦めの本は異なりますが、当方は柴田望洋氏の
「新版 C言語によるアルゴリズムとデータ構造」あたりが
入門者向けではないかと思います。
参考URL:http://tdweb.cssa.chs.nihon-u.ac.jp/ds/ds02.html
No.2
- 回答日時:
リスト構造に関する知識はどのくらいお持ちですか?
スタックは「後入れ先出し」ですので、入力データを
リスト構造の先頭につなげていけばよいです。
そして、出力時にはリスト構造の先頭からたどっていきます。
そうすると、後から入力したデータほど先に取り出す、という
仕掛けを実現できます。
一方、キューは「先入れ先出し」ですので、入力データを
リスト構造のおしりにつなげていけばよいです。
そして、出力時にはリスト構造の先頭からたどっていきます。
そうすると、先に入力したデータほど先に取り出す、という
仕掛けを実現できます。
この回答への補足
回答ありがとうございます
リスト構造については最近勉強し始めたばかりなのですが、知識としては、少しかじった程度だとおもいます。
リスト構造にポインターが入っているとプログラムが何をやってるのかがわからなくなります。ポインターは、基礎的なことしかわかりません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(コンピューター・テクノロジー) 量子コンピュータの動作原理がわかりません。同じビットが、1でも0でも有って良いだろうか? 3 2023/02/04 03:20
- C言語・C++・C# C言語プログラム変更 2 2022/12/21 15:03
- その他(プログラミング・Web制作) プログラミング pythonの問題について 2 2022/04/19 00:41
- その他(プログラミング・Web制作) python コードについて(初学者です) 3 2023/07/20 14:44
- C言語・C++・C# このプログラミングの問題を教えて欲しいです。 キーボードから整数kを入力し、kが配列aの中に何個存在 2 2022/12/19 22:50
- C言語・C++・C# このプログラミングの問題を教えてほしいです。 キーボードからデータ数nとn個のデータを入力し、平均値 3 2022/12/19 22:51
- 大学・短大 C言語線形リストの問題です 3 2022/12/22 00:45
- C言語・C++・C# C言語初心者 ポインタについて、お助けください、、 2 2023/03/15 23:50
- Excel(エクセル) VLOOKUP が機能しない、その原因は何 ? 8 2022/10/19 12:06
- Excel(エクセル) Excelのテーブルについて 6 2023/07/07 08:37
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
スタック領域変更
-
アキュームレータ/スタックマシン
-
H8マイコン スタック領域に...
-
最大スタックサイズを大きくす...
-
二分探索木の行きがけ順走査
-
スタックの伸張方向
-
printf / sprintf のスタック消...
-
VB.netでDLLを読み込んで実行す...
-
関数のプロローグとエピローグ...
-
WINDOWSなどのOSを構成している...
-
メインダイアログからの各ダイ...
-
パソコンでインターネット接続...
-
ライン数とステップ数の違いに...
-
ubuntuで デイスク/deb/loopと...
-
プログラムの規模を表す単位「k...
-
ネットワークアイコンが黄色三...
-
ステップ数について
-
Ic-PcAn はどこのこと?
-
ブラインドタッチができるよう...
-
昔したタイピングソフトが思い...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VB.netでDLLを読み込んで実行す...
-
最大スタックサイズを大きくす...
-
printf / sprintf のスタック消...
-
エラー?メッセージ
-
スタックフレームの消滅
-
_CRTIMPの意味は?
-
関数のプロローグとエピローグ...
-
逆ポーランド記法
-
マス目上の移動のアルゴリズム
-
C言語・スタックを使用した逆...
-
CASLとCASL2の違いについて
-
スタック領域変更
-
Cプログラミングの関数電卓のア...
-
スタック C言語
-
再帰処理を非再帰処理に書き換...
-
gccでスタックサイズを変更する...
-
スタックを用いて整数配列を入...
-
スタックの仕組み
-
スタックの伸張方向
-
H8マイコン スタック領域に...
おすすめ情報