スタックの使い方

push.jpg

データを記憶する処理にスタック(stack)という方法があります。

ここでは、stackの使い方について解説します。

スタックは以下の図のように、pushという命令でデータを箱に詰めていきます。

Push

そして、取り出すときはpop命令を使い上から取り出していきます。

Pop2

プログラム

#include <iostream>
#include <stack>
using namespace std;

int main(void){
	stack<int> s;
	s.push(1);
	s.push(2);
	s.push(3);
	printf("%d\n",s.top());
	s.pop();
	printf("%d\n",s.top());
	s.pop();
	printf("%d\n",s.top());
	s.pop();
	return 0;
}

実行すると

3
2
1

と表示されます。

解説

スタックを使うには<stack>をインクルードする必要があります。

さて、このプログラムでは、以下の図のように1,2,3と順にデータをpushで詰めていきます。

Push2

そして、一番上の数をprintfで出力して、popで取り除いています。

Pop

一見すると簡単ですが、知っているのと知っていないのとではプログラミングスキルに大きな違いがでます。

スタックが使えそうな場面があればどんどん使っていきましょう。

著者:安井 真人(やすい まさと)