stack容器

一.摘要

  栈,先进后出,后进先出~

二.函数原型

构造函数:

stack<T> stk; //stack采用模板类实现, stack对象的默认构造形式
stack(const stack &stk); //拷贝构造函数

赋值操作:

stack& operator=(const stack &stk); //重载等号操作符

数据存取:

push(elem); //向栈顶添加元素
pop(); //从栈顶移除第一个元素
top(); //返回栈顶元素

大小操作:

empty(); //判断堆栈是否为空
size(); //返回栈的大小

三.示例代码

代码:

 1 /*stack容器*/
 2 #include<iostream>
 3 #include<stack>
 4 using namespace std;
 5 void printStack(stack<int>&stk) {
 6     while (!stk.empty()) {//empty(); //判断堆栈是否为空
 7         cout <<  stk.top() << " ";//top(); //返回栈顶元素
 8         stk.pop();//pop(); //从栈顶移除第一个元素
 9     }
10 }
11 int main() {
12     stack<int>stk1;//stack<T> stk; //stack采用模板类实现, stack对象的默认构造形式
13     for (int i = 0; i < 10; i++) {
14         stk1.push(i);//push(elem); //向栈顶添加元素
15     }
16     stack<int>stk2(stk1); //stack(const stack &stk); //拷贝构造函数
17     stack<int>stk3;//stack& operator=(const stack &stk); //重载等号操作符
18     stk3 = stk2;
19     cout << "stk1:";
20     printStack(stk1);
21     cout << endl << "stk2:";
22     printStack(stk2);
23     cout << endl << "stk3的大小(出栈前):" << stk3.size();
24     cout << endl << "stk3:";
25     printStack(stk3);
26     cout << endl << "stk3的大小(出栈后):" << stk3.size() << endl;//size(); //返回栈的大小
27     system("pause");
28     return 0;
29 }
stack容器

结果:

 四.总结

  操作该容器比较简单,相对于其他容器的操作比较少,却也是非常常用的容器。

原文地址:https://www.cnblogs.com/chasemeng/p/12862376.html