stack是一种先进先出的数据结构,被称为栈,它只有一端可以出入。
栈中进入数据称为——入栈(push)
栈中弹出数据称为——出栈(pop)
注意:
- 栈可以判断是否为空,也可以返回栈中元素个数,但栈不允许有遍历行为
- 使用stack容器必须包含头文件#include< stack >
stack stk; //stack采用模板类实现,默认构造
stack(const stack &stk) //拷贝构造
stack& operator=(const stack& stk);//重载赋值运算符
push(elem); //向栈顶添加元素
pop(); //从栈顶删除一个元素
top(); //返回栈顶元素
empty(); //判断栈是否为空
size(); //返回栈的大小
void text() { stack<int> stk1; for (int i = 0; i < 5; ++i) { stk1.push(i+10); } stack<int> stk2(stk1); cout << "stk1的大小为:" << stk1.size() << endl; cout << "stk2的大小为:" << stk2.size() << endl; //打印栈顶元素并出栈 while (!stk1.empty())//栈非空时 { cout << "stk1栈顶元素为:" << stk1.top() << endl; stk1.pop(); } cout << "stk1的大小为:" << stk1.size() << endl; stk2 = stk1; cout << "stk2的大小为:" << stk2.size() << endl; }
测试结果: