C++ STL stack
  Q07R2MdFcCSw 2023年11月01日 64 0

#include <stack>头文件
using namespace std;

作用

这个很清楚了,FILO
运用在:括号匹配、波兰式计算问题上(未完待续)

创建

template <class T, class Container = deque<T> > class stack;

  1. 一个参数,默认使用deque容器stack<typename T, typename Container=deque<T>>
  2. 两个参数,使用自定义的数据结构,如:liststack<string, list<string>> mystack;vectorstack<int, vector<int>> mystack;
list<double> values {1.414, 3.14159265, 2.71828};
stack<double, list<double>> my_stack (values);
  1. 拷贝构造函数
stack<double, list<double>>copy_stack {my_stack};

成员函数

size

size_type size() const;//Member type size_type is an unsigned integral type.

top

size_type size() const;//Member type size_type is an unsigned integral type.

empty

bool empty() const;

push

  • push(const T& obj):可以将对象副本压入栈顶。这是通过调用底层容器的 push_back() 函数完成的。
    push(T&& obj):以移动对象的方式将对象压入栈顶。这是通过调用底层容器的有右值引用参数的 push_back() 函数完成的。

pop():弹出栈顶元素。

emplace()

用传入的参数调用构造函数不同于push的点,在栈顶生成对象和push一样的操作了

swap

  • swap(stack & other_stack):将当前栈中的元素和参数中的元素交换。参数所包含元素的类型必须和当前栈的相同。对于 stack 对象有一个特例化的全局函数 swap() 可以使用。

参考1

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  jTMfQq5cr55P   2024年05月17日   42   0   0 算法与数据结构
  jTMfQq5cr55P   2024年05月17日   38   0   0 算法与数据结构
Q07R2MdFcCSw
作者其他文章 更多

2023-11-01