C C++最全<C++> stack与queue容器概念模型 常用接口汇总_stack接口(2),2024年最新50w字+的C C++技术类校招面试题汇总

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

文章目录

🔥前言

好久没有更新C++容器这块的内容了,那么今天一次性整合两种容器的概念模型与常用接口的使用:stackqueue

1、stack 容器概念模型

1.1、stack 容器模型图

stack模型图


1.2、stack 基本概念与特点

概念:

stack栈(堆栈),是一种先进后出(First In Last Out,FILO)的数据结构,其中一端封闭。

生活中栈的例子有很多,就比如一群人排队进入一个死胡同,先进去的人要想出去就要等后面的人都出去,而最后进来的人可以最先出去。

特点:

  • 只有位于栈顶的元素才可以被外界访问
  • 栈用进入数据称为入栈:push
  • 栈中弹出数据成为出栈:pop
  • stack 不支持遍历操作
    • 遍历需要在不改变原存储空间的条件下进行
    • 通过每次出栈来访问所有元素的方式不能叫遍历
  • 能够判断容器是否为空和得到元素个数
    • 通过入栈来计数,并不是对出栈计数

2、stack 容器常用接口

接口是栈容器封装的一些方法,可以被外调用,实现不同功能

构造函数:

  • stack<T>stk;
    • 默认构造,T 采用了模板类的写法,存放数据类型
  • stack(const stack &stk);
    • 拷贝构造函数

赋值操作:

  • stack& operator=(const stack &stk);
    • 重载赋值运算符,可直接进行赋值

数据存取:

  • push(elem);
    • 入栈操作,向栈顶添加元素
  • pop();
    • 出栈操作,从栈顶移除元素
  • top();
    • 返回栈顶元素

数量操作:

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

2.1、stack 代码综合使用

包含代码具体使用与运行效果

#include<iostream>
#include<stack>
using namespace std;

int main()
{
	//默认构造创建栈
	stack<int>stk;

	//添加元素
	stk.push(99);
	stk.push(66);
	stk.push(123);

	//查看此时容器大小
	cout <<"栈的大小为:"<< stk.size() << endl;

	//结合接口来查看栈内元素
	while (!stk.empty())
	{
		//访问栈顶元素
		cout << stk.top() << endl;

		//出栈,用于更新栈顶元素
		stk.pop();
	}

	//查看此时容器大小
	cout << "出栈后容器的大小为:" << stk.size() << endl;

	return 0;
}

在这里插入图片描述

3、queue 容器概念模型

3.1、queue 容器模型图

queue 容器


3.2、queue 基本概念与特点

概念:

queue队列,是一种先进先出(First In First Out,FIFO)的数据结构,它有两个出口。

生活中最典型的例子莫过于隧道了,只允许队尾进入隧道,队首驶出隧道,先进先出且不可逆。

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

辄止,不再深入研究,那么很难做到真正的技术提升。**

需要这份系统化的资料的朋友,可以添加戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值