标准模板库(STL)之 stack 用法【初级】

文档声明:
以下资料均属于本人在学习过程中产出的学习笔记,如果错误或者遗漏之处,请多多指正。并且该文档在后期会随着学习的深入不断补充完善。


资料仅供学习交流使用。
作者:Aliven888

1、简述

a. 堆栈是一种容器适配器,专门设计用于在LIFO环境(后进先出)中操作,在LIFO环境中,仅从容器的一端插入和提取元素。
b. 堆栈也是一种容器适配器,它们是使用特定容器类的封装对象作为其基础容器的类,提供了一组特定的成员函数来访问其元素。 元素从特定容器的“后部”被推入/弹出,这被称为堆栈的顶部。

2、接口函数

名称描述
(constructor)Construct stack (public member function)
emptyTest whether container is empty (public member function)
sizeReturn size (public member function)
topAccess next element (public member function)
pushInsert element (public member function)
emplaceConstruct and insert element (public member function)
popRemove top element (public member function)
swapSwap contents (public member function)

3、接口函数使用演示

定义一个变量

	std::stack<int> m_stackValue;

判断堆栈是否为空

功 能:判断堆栈是否为空,如果为空则返回 true, 否则返回 false

	if (!m_stackValue.empty())
	{
		qDebug("m_stackValue is not empty.");
	}

插入元素

功 能:相堆栈中添加元素,顺序添加,先加入的在低地址位置(堆栈底部), m_stackValue = [1, 2, 3, 4]

	m_stackValue.push(1);
	m_stackValue.push(2);
	m_stackValue.push(3);
	m_stackValue.push(4);

获取堆栈元素个数

功 能:获取堆栈中当前元素的个数

	int iSize = m_stackValue.size();
	qDebug("m_stackValue size is = [%d]", iSize);

栈顶元素栈

功 能:获取堆栈顶部的元素,当前获取的值为 4

	int iElement = m_stackValue.top();
	qDebug("m_stackValue iElement is = [%d]", iElement);

移除栈顶元素

功 能:移除堆栈顶部的元素 m_stackValue = [1, 2, 3]

	m_stackValue.pop();

堆栈插入元素

C++ 11 引入的新特性
功 能:交换两个元素类型相同的堆栈 m_stackValue = [6, 7, 8] stackChild = [1, 2, 3, 5]

	m_stackValue.emplace(5);

堆栈元素互换

C++ 11 引入的新特性
功 能:交换两个元素类型相同的堆栈 m_stackValue = [6, 7, 8] stackChild = [1, 2, 3, 5]

	std::stack<int> stackChild;
	stackChild.push(6);
	stackChild.push(7);
	stackChild.push(8);
	m_stackValue.swap(stackChild);

4、注意事项

1、堆栈的特点是后入先出(LIFO)。
2、元素允许重复。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值