预备知识:
1.s.empth():如果栈为空,则返回true,否则返回false
2.s.size():返回栈中元素的个数
3.s.pop(): 删除栈顶元素
4.s.top():返回栈顶元素的值
5.s.push(item):在栈顶压入新元素
6.尽管栈是以deque容器为基础实现的,但是程序员不能直接访问deque所提供的操作。
例如,不能在栈上调用push_back函数,而是必须使用栈所提供的名为push的操作。
程序清单:
#include <iostream>
#include <stack>
using namespace std;
int main(int argc,char *argv[])
{
const stack<int>::size_type stack_size = 10;
stack<int> istack;
int ix = 0;
while(istack.size() != stack_size)
{
istack.push(ix++);
}
int error_cnt = 0;
while(istack.empty() == false)
{
int value = istack.top(); //将栈顶元素赋值给value
if(value != --ix)
{
cerr << "oops! expected " << ix
<<" received " << value <<endl;
++error_cnt;
}
istack.pop();
}
cout << "There are " << error_cnt <<" errors!" << endl;
return 0;
}
|
程序执行结果:
阅读(1390) | 评论(0) | 转发(0) |