スポンサーリンク

std::stackでpush/pop操作

参考:スタックのpush,pop関数をc言語で実装(動的にスタック領域を拡張/縮小)
参考:スタックのpush,pop関数をC言語とPythonで実装
ヘッダをincludeします。

#include <stack>

・push操作

	 stack.push(1);

・空になるまでpop操作
stack.empty()で空かを調べて、stack.top()で末尾を取得。
stack.pop()で末尾を削除します。

	 while(!stack.empty()){
	 	printf("%d ", stack.top());
	 	stack.pop();
	 }

スポンサーリンク

サンプルコード

下記がサンプルコードになります。

$ cat sample.cpp 
#include <iostream>
#include <stack>

int main(){
	std::stack<int> stack;
	 
	 //push操作
	 stack.push(1);
	 stack.push(2);
	 
	//スタックのサイズを出力
	 printf("size=%lu\n", stack.size());
	 
	 //空になるまでpop操作
	 while(!stack.empty()){
	 	printf("%d ", stack.top());
	 	stack.pop();
	 }
	 printf("\n");

	return 0;
}

下記が実行結果になります。
$ g++ -o sample sample.cpp
$ ./sample 
size=2
2 1 

スポンサーリンク