前言:
现在你们对“先进先出队列 c语言”可能比较关怀,我们都需要学习一些“先进先出队列 c语言”的相关资讯。那么小编也在网上汇集了一些关于“先进先出队列 c语言””的相关资讯,希望各位老铁们能喜欢,兄弟们一起来了解一下吧!前面,写了几篇基于Linux系统,使用C语言实现各种队列、链表等数据结构算法。但,这都是在重复造轮子的过程。说实话,敲代码时间长了,人是会变懒的。所以,这些轮子真的不想再造了。今天,就讲下基于Linux系统,使用C++的容器中的queue队列,来快速实现一个小功能。
<-----------C++的容器queue队列----------->
使用C++的容器队列queue,来存储学生的成绩:
#include <iostream>#include <queue>#include <string>using namespace std;// 定义学生结构体struct Student { std::string name; int score;};int main() { std::queue<Student> studentQueue; // 添加学生信息到队列 Student student1 = {"Alice", 85}; Student student2 = {"Bob", 92}; Student student3 = {"Charlie", 78}; studentQueue.push(student1); studentQueue.push(student2); studentQueue.push(student3); // 从队列中取出学生信息并打印 while (!studentQueue.empty()) { Student currentStudent = studentQueue.front(); studentQueue.pop(); std::cout << "Name: " << currentStudent.name << ", Score: " << currentStudent.score << std::endl; } return 0;}
在上面的示例代码中,我们定义了一个Student结构体,包含学生的姓名和成绩。然后,我们创建了一个队列studentQueue,并将三个学生信息依次添加到队列中。最后,我们使用循环从队列中取出学生信息,并打印出姓名和成绩。
<--------讲述下C++容器的queue使用-------->
当使用 C++ 中的std::queue容器时,你可以将其视为一种队列数据结构的实现。队列是一种先进先出(First-In-First-Out,FIFO)的数据结构,类似于现实生活中的排队等待。
std::queue是 C++ 标准库中的一个模板类,你可以使用它来创建一个队列对象,其中存储特定类型的元素。在你的程序中,std::queue<Student>表示创建了一个存储Student类型的队列对象。
下面是一些常用的std::queue成员函数和操作:
push(element):将元素 element添加到队列的末尾。pop():移除队列的第一个元素。front():返回队列的第一个元素,但不移除它。back():返回队列的最后一个元素,但不移除它。empty():检查队列是否为空,如果为空则返回true,否则返回false。size():返回队列中元素的数量。
在上面的示例代码中,我们使用push()将学生信息添加到队列的末尾,使用pop()移除队列的第一个学生信息。front()用于访问当前队列的第一个学生信息,empty()用于检查队列是否为空。
请注意,在使用std::queue之前,你需要包含<queue>头文件。
标签: #先进先出队列 c语言 #c语言银行排队问题