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
