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.目標達成!!