什么是stack?

描述

一、什么是 stack?

stack 容器,又称栈容器,是简单地装饰deque容器而成为另外的一种容器。

二、容器特性

1.单开口容器

实际上该容器模拟的就是栈存储结构,即无论是向里存数据还是从中取数据,都只能从一个开口实现操作。

2.不支持迭代器

只能通过固定的函数插入、访问和删除

三、基本函数实现

1,构造函数

  • stack();创建一个空stack

2.元素的增加、获取与删除

  • void push(const T& x); 往栈中添加元素
  • reference top(const ); 获取栈顶元素
  • void pop(const ); 删除栈顶元素

5.判断函数

  • bool empty() const;判断容器中是否有元素,若无元素,则返回 true;反之,返回 false。

6.大小函数

  • int size() const;返回栈中元素的个数

7.其他函数

  • void swap(stack&);交换两个同类型栈的数据

四、基本用法

#include
#include
using namespace std;
int main()
{
  stack<int> sk;
  sk.push(2);
  sk.push(3);
  sk.push(4);
  sk.push(5);
  //只能这样去遍历,但是遍历玩后,所有的数据都会被删除
  while (!sk.empty())
  {
    cout << sk.top() << " ";
    sk.pop();
  }
  cout << "\\n size:" << sk.size() << endl;
  return 0;
}

给大家布置一个小小的作业,用栈实现类似vs的括号匹配检查的程序~

比如:printf("plus";   检测这个字符串会,显示缺少右括号)
打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分