質問 |
||
| QNo.4014490 | c言語 リストデータ構造 キュー スタック がわかりません | |
|---|---|---|
| 質問者:remon2648 |
ポインタを用いた線形リストデータ構造を利用して,キーボードから順に入力した複数の整数値(int型)を空の「スタック」および「キュー」にそれぞれ保存し,取り出した時,出力される整数値を順に表示するプログラム. 動作確認のために入力する整数値は,年号と月の数字の部分とせよ(2008年5月なら,「2→0→0→8→0→5」の順).また,スタックとキューに保存されているデータがどのような順で出力されるかをそれぞれ表示するようにせよ.(スタックの場合は「5→0→8→0→0→2」の順で出力され,キューの場合は「2→0→0→8→0→5」の順で出力されることを表示させ確認せよ) こうのようなプログラムを作らなくてはいけないのですが、まったくわかりません。参考にでもソースを教えていただけないでしょうか? また、詳しく解説されている(初級と中級レベルそれぞれについて)サイトや書籍がありましたらそちらもお願いいたします。 |
|
困り度:
|
||
| 質問投稿日時: 08/05/11 17:21 |
||
回答 |
|
| ANo.3 | リスト構造について説明しているサイトはたくさんありますが、 当方の目についたところを紹介します。 参考URLをごらんになってみてください。 ds02.html では自己参照構造体を説明しています。 同じサイトで、ds03.html 〜 ds06.html というページへ行くと、 リスト構造について説明しています。 リスト構造などのデータ構造やアルゴリズムについての書籍も たくさんあります。 人によってお薦めの本は異なりますが、当方は柴田望洋氏の 「新版 C言語によるアルゴリズムとデータ構造」あたりが 入門者向けではないかと思います。 |
|---|---|
| 回答者:asuncion | |
| 種類:アドバイス どんな人:一般人 自信:参考意見 |
|
| 回答日時: 08/05/11 21:17 |
|
| |
| 参考URL: | http://tdweb.cssa.chs.nihon-u.ac.jp/ds/ds02.html |
| この回答への補足 | この回答に補足をつける(質問者のみ) |
| この回答へのお礼 | ありがとうございました。あとは、自分でがんばってみたと思います。 今後機会があったらよろしくお願いします。 |
回答 |
|
| ANo.2 | リスト構造に関する知識はどのくらいお持ちですか? スタックは「後入れ先出し」ですので、入力データを リスト構造の先頭につなげていけばよいです。 そして、出力時にはリスト構造の先頭からたどっていきます。 そうすると、後から入力したデータほど先に取り出す、という 仕掛けを実現できます。 一方、キューは「先入れ先出し」ですので、入力データを リスト構造のおしりにつなげていけばよいです。 そして、出力時にはリスト構造の先頭からたどっていきます。 そうすると、先に入力したデータほど先に取り出す、という 仕掛けを実現できます。 |
|---|---|
| 回答者:asuncion | |
| 種類:アドバイス どんな人:一般人 自信:参考意見 |
|
| 回答日時: 08/05/11 18:58 |
|
| |
| この回答への補足 | 回答ありがとうございます リスト構造については最近勉強し始めたばかりなのですが、知識としては、少しかじった程度だとおもいます。 リスト構造にポインターが入っているとプログラムが何をやってるのかがわからなくなります。ポインターは、基礎的なことしかわかりません。 |
| この回答へのお礼 | この回答にお礼をつける(質問者のみ) |
回答 |
|
| ANo.1 | スタックやキューは、配列でも実装できます。 配列によるスタックやキューを実装するプログラムは書けますか? |
|---|---|
| 回答者:asuncion | |
| 種類:補足要求 どんな人:一般人 自信:参考意見 |
|
| 回答日時: 08/05/11 18:25 |
|
| |
| この回答への補足 | 回答ありがとうございます。 参考書やwebなどで調べながらやれば時間はかかりますが、書けます。 |
| この回答へのお礼 | この回答にお礼をつける(質問者のみ) |