C++中的stack容器和queue容器操作代码

 更新时间:2025年11月21日 09:51:20   作者:卡提西亚  
C++中stack和queue容器介绍,stack是一种先进后出的数据结构,而queue是一种先进先出的数据结构,本文通过实例代码介绍C++中的stack容器和queue容器,感兴趣的朋友跟随小编一起看看吧

stack容器

stack基本概念

stack是一种先进后出(First In LastOut,FILO)的数据结构,它只有一个出口
栈中只有顶端的元素才可以被外界使用,因此栈不允许有遍历行为
可以类比弹匣,羽毛球筒等,先进后出,因为先放进去会压在最下面,它想出来就需要上面的出来才行。

stack构造函数

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

赋值操作

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

数据存取

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

大小操作

  • empty();//判断堆栈是否为空
  • size();//返回栈的大小
#include<iostream>
using namespace std;
#include<stack>
void test()
{
	stack<int> stk;
	stk.push(10);
	stk.push(20);
	stk.push(30);
	stk.push(40);
	cout << "栈的大小:" << stk.size() << endl;
	//只要栈不为空,查看栈顶,并执行出栈操作
	while (!stk.empty())
	{
		cout << stk.top() << " ";
		stk.pop();
	}
	cout << endl;
	cout << "栈的大小:" << stk.size() << endl;
}
int main()
{
	test();
}

栈的结构还是非常简单的,只需要记住它是先进后出的结构即可。

queue容器

queue基本概念

Queue是一种先进先出(First In First Out,FIFO)的数据结构,它有两个出口。
可以类比生活中的排队场景,排在前面的人先办理好业务离开。先进先出规则。

queue构造函数

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

queue赋值操作

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

queue数据存取

  • push(elem);//往队尾添加元素
  • pop();//从队头移除第一个元素
  • bacK();//返回最后一个元素
  • front();数据存取//返回第一个元素

queue大小操作

  • empty();//判断堆栈是否为空
  • size();//返回栈的大小
#include<iostream>
using namespace std;
#include<queue>
void test()
{
	queue<int>q;
	q.push(10);
	q.push(20);
	q.push(30);
	q.push(40);
	cout << "q的大小" << q.size() << endl;
	while (!q.empty())
	{
		cout << "队头:" << q.front() << " ";
		cout << "队尾:" << q.back() << " ";
		cout << endl;
		q.pop();
	}
	cout << "q的大小" << q.size() << endl;
}
int main()
{
	test();
}

到此这篇关于C++中的stack容器和queue容器的文章就介绍到这了,更多相关c++ stack和queue容器内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • C语言深入讲解链表的使用

    C语言深入讲解链表的使用

    当我们在写一段代码时,如果要频繁的在一块区域进行插入或者删除操作时,会发现用数组实现会比较复杂,这时候我们就要用另一种数据结构,链表来实现
    2022-05-05
  • 使用VS Code进行Qt开发的实现

    使用VS Code进行Qt开发的实现

    这篇文章主要介绍了使用VS Code进行Qt开发的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • VS Code远程连接Linux服务器调试C程序的操作方法

    VS Code远程连接Linux服务器调试C程序的操作方法

    这篇文章主要介绍了VS Code远程连接Linux服务器调试C程序的操作方法,打开远程 Linux 服务器上的文件夹本文以 /root/ 为例,给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2023-12-12
  • C++中const、volatile、mutable使用方法小结

    C++中const、volatile、mutable使用方法小结

    这篇文章主要介绍了C++中const、volatile、mutable使用方法小结,需要的朋友可以参考下
    2020-01-01
  • Qt中状态机框架QState的实现

    Qt中状态机框架QState的实现

    这篇文章主要介绍了Qt中状态机框架QState的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-11-11
  • C++入门之vector的底层实现详解

    C++入门之vector的底层实现详解

    这篇文章主要为大家介绍了C++入门之vector的底层实现,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2021-11-11
  • C语言指针变量作为函数参数的实现步骤详解

    C语言指针变量作为函数参数的实现步骤详解

    这篇文章主要介绍了C语言指针变量作为函数参数的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧
    2023-02-02
  • C++ 中dynamic_cast&lt;&gt;的使用方法小结

    C++ 中dynamic_cast&lt;&gt;的使用方法小结

    将一个基类对象指针(或引用)cast到继承类指针,dynamic_cast会根据基类指针是否真正指向继承类指针来做相应处理
    2013-03-03
  • C语言函数的声明、定义、调用方式

    C语言函数的声明、定义、调用方式

    本文详细介绍了如何在不同情况下定义和使用函数,包括无返回值和有返回值的无参及有参函数,以及如何将数组作为函数参数,总结了两种在Java中声明和调用函数的方式
    2026-02-02
  • c++入门必学算法之快速幂思想及实现

    c++入门必学算法之快速幂思想及实现

    快速幂相较于普通的幂,具有占用空间少,效率更高等优点,全面碾压普通的幂,下面这篇文章主要给大家介绍了关于c++入门必学算法之快速幂思想及实现的相关资料,需要的朋友可以参考下
    2022-11-11

最新评论