映画のエンドロール観る派?観ない派?

「スタックモジュール」を作ることを考える。データ構造の定義と、以下の操作の定義を書け。ただしC言語を使え。

create 空のスタックを作る
push スタックにデータを一つ挿入
pop スタックトップのデータを返すとともに、そのデータをスタックから削除

という問題です。
私は、C言語でのスタック構造は配列でしか扱ったことがなく、「スタックモジュール」の意味がよくわかりません。スタック構造はFILOのデータ構造ですが、これをC言語で書こうとすると配列を宣言して終わってしまう気がします。
create・push・popは、int (&num){......}のように普通に関数を宣言すればよいのでしょうか。
どなたか教えてください。

A 回答 (1件)

たんにスタック操作をする関数群というとらえ方でいいんじゃないでしょうか。


データの型をどうするかはわかりませんが仮にintだとして次のような感じかと

struct stack {
...
};

struct stack *
create(void)
{
...
}

void
push(struct stack *stk, int n)
{
...
}

int
pop(struct stack *stk)
{
...
}

構造体や関数の中身はお任せします。
    • good
    • 0

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


おすすめ情報