#GOC105876. 栈知识点

栈知识点

题目描述

一、什么是栈

栈也是一种操作(或者说运算)受到限制的特殊线性表。

其插入和删除操作都限制在表的一端进行,这一端被称为“栈顶(top)”,相对的另一端称为“栈底(bottom)”。

两种操作:

    1、“进栈(PUSH)”或者“压栈”

    2、“出栈(POP)”。

栈的特点是:“先进后出(FILO,First In Last Out)”

 

 ![](./1572/file/img01.png)

二、stack容器

   stack翻译为栈,是STL中实现的一个“后进先出”的容器,它提供了栈操作中的很多命令,非常方便。

   如:

    访问栈顶元素:top()

    删除栈顶元素:pop()

    元素放入栈顶:push()

    使用stack前,要先添加stack头文件,即#include <stack>,同时,必须要有“using namespace std”。

   定义一个 stack 的方法如下:

        stack<typename> name;

    其中,typename 可以是任何基本类型或者容器,name 是栈的名字。

stack不支持迭代器

三、Stack 使用方法总结:

s.push(x); 入栈, 将x 接到栈s的顶端。

s.pop();  出栈,弹出栈顶端s的第一个元素,注意,并不会返回被弹出元素的值。

s.top();  访问栈顶端元素, 即最早被压入栈s的元素。

s.empty(); 判断栈是否为空 , 当栈空时,返回true。

s.size();  访问栈中的元素个数。