c言語でのスタック(単純配列実装)
はじめに
c言語でのスタックをステップバイステップで書いてみて,構造を学ぶ.
本記事では,単純な配列を用いて実装していく♪
目標
5段の空スタックを作成(各段には数値が一つ入る)
スタックが満タンか調べる機能,PUSH機能,スタックの中身を表示する機能を追加 を追加
スタックが空か調べる機能,POP機能を追加
スタック全体を削除する機能を追加
Step1: 空のスタックを作成
以下のようにmain.cを作成。
コンパイルして、実行してみる.
$ gcc main.c
$ ./a.out
出力はないので合っているかわからんけど,エラーがでないから多分OK.
Step2: PUSH機能の追加
以下のようにmain.cを修正.
コンパイルからの実行.
$ gcc main.c func.c
$ ./a.out
Stack Overflow
1
2
3
4
5
1回目から5回目のPUSHは成功して,6回目はオーバーフローになっているのでOK.
Step3: POP機能の追加
main.cを修正.
コンパイルからの実行.
$ gcc main.c func.c
$ ./a.out
data 5 is removed
1
2
3
4
一番最後にPUSHした5が取り除かれているのでOK.
Step4: スタック全体を削除する機能を追加
main.cを修正.
コンパイルからの実行.
$ gcc main.c func.c
$ ./a.out
data 5 is removed
1
2
3
4
There is no stack
スタックがなくなっているのでOK.目標達成!!