栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

C++栈的基本用法

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++栈的基本用法

  1. c++栈的一些基本用法:
    1. push(): 向栈内加入一个成员,无返回值;
    2. pop(): 从栈顶取出一个成员,无返回值;
    3. empty(): 如果栈为空返回true,否则返回false,返回值为布尔值;
    4. top(): 返回栈顶,不删除成员;
    5. size(): 返回栈内元素的长度;
    6. emplace():用传入的参数调用构造函数,在栈顶生成对象。
    7. swap(stack & other_stack):将当前栈中的元素和参数中的元素交换。参数所包含元素的类型必须和当前栈的相同。对于 stack 对象有一个特例化的全局函数 swap() 可以使用。

  2.如何定义一个用来存放字符串对象的 stack 容器: 

std::stack words;

 stack 容器适配器的模板有两个参数。第一个参数是存储对象的类型,第二个参数是底层容器的类型。stack 的底层容器默认是 deque 容器,因此模板类型其实是 stack>。通过指定第二个模板类型参数,可以使用任意类型的底层容器,只要它们支持 back()、push_back()、pop_back()、empty()、size() 这些操作。

3、如何定义一个使用 list 的堆栈:

std::stack> fruit;

4、 创建堆栈时,不能在初始化列表中用对象来初始化,但是可以用另一个容器来初始化,只要堆栈的底层容器类型和这个容器的类型相同。必须使用圆括号。如果没有在第二个 stack 模板类型参数中将底层容器指定为 list,那么底层容器可能是 deque,这样就不能用 list 的内容来初始化 stack;只能接受 deque。

5、stack 模板定义了拷贝构造函数,因而可以复制现有的 stack 容器:

std::stack>copy_stack {my_stack}

 copy_stack 是 my_stack 的副本。在使用拷贝构造函数时,既可以用初始化列表,也可以用圆括号。

栈的应用:

一、符号配对

方法一:

#include
using namespace std;
int main() 
{
	stack st;
	string s;
	string res;
	while(1) 
	{
		getline(cin,s);
		if(s==".")
			break;
		res=res+s;
	}
	for(int i=0;i 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/333432.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号