首页 > 其他分享 >stack容器

stack容器

时间:2022-11-10 22:44:58浏览次数:34  
标签:容器 元素 栈顶 --- push stack

3.5 stack容器

3.5.1 stack 基本概念

概念:stack是一种先进后出(First In Last Out,FILO)的数据结构 ,它只有一个出口-出口叫栈顶,而且只能在栈顶操作

栈中只有顶端的元素才可以被外界使用,因此栈不允许有遍历行为(但是可以通过出栈来查看栈中数据)

栈中进入数据称为 --- 入栈 push

栈中弹出数据称为 --- 出栈 pop

3.5.2 stack 常用接口

功能描述:栈容器常用的对外接口

构造函数:

  • stack<T> stk; //stack采用模板类实现, stack对象的默认构造形式
  • stack(const stack &stk); //拷贝构造函数

赋值操作:

  • stack& operator=(const stack &stk); //重载等号操作符

数据存取:

  • push(elem); //向栈顶添加元素
  • pop(); //从栈顶移除第一个元素
  • top(); //返回栈顶元素

大小操作:

  • empty(); //判断堆栈是否为空
  • size(); //返回栈的大小

示例:

#include <stack>

//栈容器常用接口
void test01()
{
	//创建栈容器 栈容器必须符合先进后出
	stack<int> s;

	//向栈中添加元素,叫做 压栈 入栈
	s.push(10);
	s.push(20);
	s.push(30);

	while (!s.empty()) {
		//输出栈顶元素
		cout << "栈顶元素为: " << s.top() << endl;
		//弹出栈顶元素
		s.pop();
	}
	cout << "栈的大小为:" << s.size() << endl;

}

int main() {

	test01();

	system("pause");

	return 0;
}

总结:

  • 入栈 --- push
  • 出栈 --- pop
  • 返回栈顶 --- top
  • 判断栈是否为空 --- empty
  • 返回栈大小 --- size

标签:容器,元素,栈顶,---,push,stack
From: https://www.cnblogs.com/xiaoqing-ing/p/16879037.html

相关文章

  • verctor容器
    3.2vector容器3.2.1vector基本概念功能:vector数据结构和数组非常相似,也称为单端数组vector与普通数组区别:不同之处在于数组是静态空间,而vector可以动态扩展动......
  • 第二章 Pause容器 和 Init容器
    Pause容器pause容器,又叫Infra容器,是pod的基础容器,镜像体积只有几百KB左右,配置在kubelet中,主要的功能是使一个pod中多个容器的网络通信Infra容器被创建后会初始化NetworkNam......
  • 腾讯蓝鲸智云版本再迎新升级,正式推出容器化部署版本V7.0
    蓝鲸版本再迎新升级,面向社区用户推出蓝鲸智云V7,全平台支持容器化部署(基于kubernetes),带来全新的“桌面”(PaaS平台),支持AIX操作系统管控(节点管理,管控平台),支持高危语句拦截(作业......
  • 腾讯蓝鲸智云版本再迎新升级,正式推出容器化部署版本V7.0
    蓝鲸版本再迎新升级,面向社区用户推出蓝鲸智云V7,全平台支持容器化部署(基于kubernetes),带来全新的“桌面”(PaaS平台),支持AIX操作系统管控(节点管理,管控平台),支持高危语句拦截(作......
  • 如何在STL容器内存储对象的引用
    示例代码:classgfg{private:inta;gfg(constgfg&)=delete;gfg&operator=(constgfg&)=delete;public:explicitgfg(inta){this->a=a;}......
  • C#中的依赖注入和IoC容器
    介绍 (Introduction)DependencyInjectionand IoC canseemquitecomplexatfirst,buttheyareveryeasytolearnandunderstand.依赖注入和IoC乍一看似乎很......
  • __stack_chk_fail
    __stack_chk_fail栈检查失败-smartch-博客园(cnblogs.com)(38条消息)【GDB】__stack_chk_fail栈溢出问题定位_pcj_888的博客-CSDN博客_如何定位栈溢出......
  • simpread-获取 JavaScript 对象的键 _ D 栈 - Delft Stack
    本文由简悦SimpRead转码,原文地址www.delftstack.com使用Object.keys()方法获取javascript对象的键Object.keys()函数返回一个包含javascript对象键的数组......
  • 学习笔记-Flutter 布局(八)- Stack、IndexedStack、GridView详解
    Flutter布局(八)-Stack、IndexedStack、GridView详解本文主要介绍Flutter布局中的Stack、IndexedStack、GridView控件,详细介绍了其布局行为以及使用场景,并对源码进行了分......
  • String容器
    3.1string容器3.1.1string基本概念本质:string是C++风格的字符串,而string本质上是一个类string和char*区别:char*是一个指针(C语言)string是一个类,类内部封......