C++容器详解之stack

目录

1stack容器概述

2.stack对象的默认构造

3.stack的push()与pop()方法

4.stack对象的拷贝构造与赋值

5.stack的数据存取

6.stack的大小


1stack容器概述

stack是堆栈容器,是一种“先进后出”的容器。栈和队列都没有迭代器。

C++容器详解之stack

1.stack是基于deque容器而实现的容器。

2.#include <stack> 

2.stack对象的默认构造

stack采用模板类实现, stack对象的默认构造形式: stack <T> stkT;  

stack <int> stkInt;            //一个存放int的stack容器。

stack <float> stkFloat;     //一个存放float的stack容器。

stack <string> stkString;     //一个存放string的stack容器。

...     

//尖括号内还可以设置指针类型或自定义类型。

3.stack的push()与pop()方法

stack.push(elem);   //往栈头添加元素

stack.pop();        //从栈头移除第一个元素

stack<int> stkInt;  

stkInt.push(1);

stkInt.push(2);

stkInt.pop();   

stkInt.push(3);

此时stkInt存放的元素是1, 3

4.stack对象的拷贝构造与赋值

stack(const stack &stk);      //拷贝构造函数

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

stack<int> stkIntA;

stkIntA.push(1);

stkIntA.push(2);

stkIntA.push(3);

stack<int> stkIntB(stkIntA); //拷贝构造

stack<int> stkIntC;

stkIntC = stkIntA; //赋值

5.stack的数据存取

stack.top();   //返回最后一个压入栈元素

stack<int> stkIntA;

stkIntA.push(1);

stkIntA.push(2);

stkIntA.push(3);

int iTop = stkIntA.top(); //3

stkIntA.top() = 88; //88

6.stack的大小

1.stack.empty();   //判断堆栈是否为空

2.stack.size();      //返回堆栈的大小

stack<int> stkInt;

stkInt.push(1);

stkInt.push(2);

stkInt.push(3);

int iSize = stkInt.size(); //3

上一篇:[CSP-S 2021] 廊桥分配 题解


下一篇:通过MutationObserver监听DOM元素,做一个位置随指定元素位置变化而变化的气泡