```cpp
#include<iostream>
using namespace std;
const int Max=50;
typedef class student
{
public :
int data[Max];
int fronts,rears;
}Queue;
void initqueue(Queue &q);
void inqueue(Queue &q,int x);
void outqueue(Queue &q,int &x);
bool empty_queue(Queue &q);
void printlist(Queue &q);
int main()
{
int n,i,m;
cout<<"你想在队列中输入几个节点的数据几个节点"<<endl;
cin>>n;
Queue q;
initqueue(q);
for(i=0;i<n;i++)
{
cin>>m;
inqueue(q,m);
}
printlist(q);
return 0;
}
void initqueue(Queue &q)
{
q.fronts=q.rears=0;
}
bool empty_queue(Queue &q)
{
if(q.fronts==q.rears)
{
return true;
}
else
{
return false;
}
}
void inqueue(Queue &q,int x)
{
if((q.rears+1)%Max==q.fronts)
{
return ;
}
else
{
q.rears=(q.rears+1)%Max;
q.data[q.rears]=x;
}
}
void outqueue(Queue &q,int &x)
{
if(empty_queue(q)==true)
{
return ;
}
else
{
q.fronts=(q.fronts+1)%Max;
x=q.data[q.fronts];
}
}
void printlist(Queue &q)
{
if(empty_queue(q)==true)
{
return ;
}
else
{
int p=q.fronts+1;
while(p<=q.rears)
{
cout<<q.data[p]<<" ";
p=(p+1)%Max;
}
}
}
本文介绍了一个基于C++的队列数据结构实现,包括初始化、入队、出队、判断空队列及打印队列元素等核心功能。通过用户输入节点数量和数据,演示了队列的基本操作流程。
798

被折叠的 条评论
为什么被折叠?



