关于栈和队列的整理

本文详细介绍了栈和队列这两种基本数据结构。栈遵循先进后出(FILO)原则,主要操作包括压栈和弹栈;队列遵循先进先出(FIFO)原则,支持入队和出队操作。文章阐述了它们的特点、相关概念及在C++中的头文件和定义方式。
摘要由CSDN通过智能技术生成

一. 栈

<1>栈的特点

  1. 栈中元素遵守先进后出的原则,简称FILO结构。
  2. 限定只是能在栈顶进行输入和删除的操作。

<2>栈的相关概念

  1. 栈顶与栈栈底:允许元素插入与删除的一端为栈顶,而另一端则为栈
    (返回栈顶元素: s.top())
  2. 压栈 (s.push()):栈的插入操作。
  3. 弹栈 (s.pop()):栈的删除操作。

<3>常用操作:

1. s.pop(); // 弹出栈顶元素,但不返回其值
2. s.push(); // 将元素压入栈顶
3. s.size(); //  返回栈中元素个数
4. s.empty(); // 如栈为空,返回true,否则返回false
5. s.top(); // 返回栈顶元素,但不删除该元素 

<4>头文件和定义的方式:

#include<stack>

int main()
{	
	stack<int> s;
}

在这里插入图片描述

二. 队列

<1>队列的特点

  1. 队列中的元素遵守先进先出的原则,简称FIFO结构。
  2. 限定在队尾加入元素,在队头删除元素。

<2>队列的相关概念

  1. 队头与队尾 :允许插入一端为队尾,允许删除一端为队头。
    (返回队头元素:q.front();返回队尾元素:q.back())
  2. 入队 (q.push()):队列的插入操作。
  3. 出队 (q.pop()):队列的输出操作。

<3>常用操作

1. q.pop(); // 删除队列首元素,但不返回其值 
2. q.push(); // 在队尾压入新元素 
3. q.size(); //  返回队列中元素个数
4. q.empty(); // 如队列为空,返回true,否则返回false
5. q.front(); // 返回队首元素的值,但不删除该元素
6. q.back(); // 返回队尾元素的值,但不删除该元素 

<4>头文件和定义方式

#include<queue>

int main()
{
	queue<int> q;
}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值