#include<iostream>
using namespace std;
struct node//节点
{
int date;
node* next;
};
struct queue//队列结构
{
node* front;
node* rear;
int size = 0;
};
void initQueue(queue &q)//初始化队列
{
node* cur = new node;
cur->next = NULL;
q.front =cur;
q.rear = cur;
}
void push(queue& q, int& a)//入队
{
node* cur=new node;
cur->date = a;
cur->next = NULL;
q.rear->next = cur;
q.rear = cur;
q.size++;
}
void printOut(queue& q)
{
node* t;
t = q.front->next;
while (t)
{
cout << t->date <<" ";
t = t->next;
}
return;
}
bool empty(queue& q)
{
return (q.front == q.rear);
}
void pop(queue& q)//出队
{
if (empty(q))//出队前判断队列是否已经空了
{
cout << "队列空" << endl;
}
else
{
node* temp;
temp = q.front->next;
q.front->next = temp->next;
delete temp;
}
}
void test01()//测试用例
{
queue q;
initQueue(q);
int a = 5;
push(q, a);
int b = 10;
push(q, b);
printOut(q);
cout << endl;
pop(q);
printOut(q);
cout << endl;
pop(q);
printOut(q);
}
int main()
{
test01();
return 0;
}
队列的链式实现(c++)
最新推荐文章于 2022-04-16 00:12:48 发布