首页 > 其他 > 详细

stack容器

时间:2020-05-10 12:36:13      阅读:44      评论:0      收藏:0      [点我收藏+]

一.摘要

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

二.函数原型

构造函数:

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容器

结果:

技术分享图片

 四.总结

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

 

stack容器

原文:https://www.cnblogs.com/ChaseMeng/p/12862376.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!