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++提取文件名与提取XML文件的方法详解

    C++提取文件名与提取XML文件的方法详解

    这篇文章主要为大家详细介绍了C++提取文件名与提取XML文件的方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助<BR>
    2022-03-03
  • 深入理解约瑟夫环的数学优化方法

    深入理解约瑟夫环的数学优化方法

    本篇文章是对约瑟夫环的数学优化方法进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • QTableWidget设置只让某一列可编辑的实现

    QTableWidget设置只让某一列可编辑的实现

    本文介绍了如何将QTableWidget的某一列设置为可编辑,以便用户可以输入自定义数据,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-08-08
  • C语言中sizeof()与strlen()函数的使用入门及对比

    C语言中sizeof()与strlen()函数的使用入门及对比

    这篇文章主要介绍了C语言中sizeof()与strlen()函数的使用入门及对比,同时二者在C++中的使用情况也基本上同理,是需要的朋友可以参考下
    2015-12-12
  • Linux UDP服务端和客户端程序的实现

    Linux UDP服务端和客户端程序的实现

    这篇文章主要介绍了Linux UDP服务端和客户端程序的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05
  • Linux下编译C程序的过程

    Linux下编译C程序的过程

    我们总是在Linux下输入 gcc -o app main.c 即可编译好程序,对于具体的详细过程及流程,相信亲们就不太了解啦!下面给大家展示一下C编译器的解释全过程。
    2016-01-01
  • C语言实现顺序循环队列实例

    C语言实现顺序循环队列实例

    大家好,本篇文章主要讲的是C语言实现顺序循环队列实例,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下
    2022-02-02
  • VS2022新建项目时没有ASP.NET Web应用程序(.NET Framework)

    VS2022新建项目时没有ASP.NET Web应用程序(.NET Framework)

    本文主要介绍了VS2022新建项目时没有ASP.NET Web应用程序的解决,文中通过图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-10-10
  • C++ BloomFilter布隆过滤器应用及概念详解

    C++ BloomFilter布隆过滤器应用及概念详解

    布隆过滤器是由布隆(Burton Howard Bloom)在1970年提出的 一种紧凑型的、比较巧妙的概率型数据结构,特点是高效地插入和查询,可以用来告诉你 “某样东西一定不存在或者可能存在”,它是用多个哈希函数,将一个数据映射到位图结构中
    2023-03-03
  • C语言采用文本方式和二进制方式打开文件的区别分析

    C语言采用文本方式和二进制方式打开文件的区别分析

    这篇文章主要介绍了C语言采用文本方式和二进制方式打开文件的区别分析,有助于读者更好的理解文本文件与二进制文件的原理,需要的朋友可以参考下
    2014-07-07

最新评论