C/C++教程

C++容器详解之stack

本文主要是介绍C++容器详解之stack,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

目录

1stack容器概述

2.stack对象的默认构造

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

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

5.stack的数据存取

6.stack的大小


1stack容器概述

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

这篇关于C++容器详解之stack的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!