#include<iostream>
using namespace std;
#define MaxSum 100
struct Queue //定义队列结构体
{
int front;
int rear;
int *a;
};
void InitQueue(Queue& q)//初始化队列
{
q.front = 0;
q.rear = 0;
q.a = new int[100];
}
bool QueueEmpty(Queue q)//判断是否为空
{
if (q.front == q.rear)return true;
else return false;
}
bool QueueFull(Queue& q)//判断是否满
{
if ((q.rear + 1) % MaxSum == q.front)return true;
else false;
}
void DestroyQueue(Queue& q)//销毁队列
{
delete[] q.a;
q.front = 0;
q.rear = 0;
}
void ClearQueue(Queue& q)//清除队列
{
q.front = 0;
q.rear = 0;
}
int QueueLength(Queue q)//返回队列长度
{
if (q.rear >= q.front)return q.rear - q.front;
else return MaxSum - (q.front - q.rear);
}
int GetHead(Queue q)//得到队列头节点数据
{
if (QueueEmpty(q))
{
cout << "队列空" << endl;
return;
}
else if (q.front == MaxSum - 1)return q.a[0];
else return q.a[q.front + 1];
}
void EnQueue(Queue& q,int value)//入队
{
if (QueueFull(q))
{
cout << "队列满" << endl;
return;
}
q.rear = (q.rear + 1) % MaxSum;
q.a[q.rear] = value;
}
int DeQueue(Queue& q)//出队
{
if (QueueEmpty)
{
cout << "队列空" << endl;
return;
}
q.front = (q.front + 1) % MaxSum;
return q.a[q.front];
}
int main()
{
return 0;
}
队列C++实现
最新推荐文章于 2024-04-28 18:45:35 发布