#include<iostream>
using namespace std;
#define maxsize 100
typedef int elemtype;
typedef struct
{
elemtype* base;
int front;
int rear;
}sqqueue;
bool initqueue(sqqueue& q)//队列初始化
{
q.base = new elemtype[maxsize];
if (!q.base)
{
exit(-1);
}
q.front = q.rear=0;
return 1;
}
int lengthqueue(sqqueue q)//求队列长度
{
return (q.rear - q.front + maxsize) % maxsize;
}
bool enqueue(sqqueue& q, elemtype e)//循环队列入队
{
if ((q.rear + 1) % maxsize == q.front)
{
return 0;
}
q.base[q.rear] = e;
q.rear = (q.rear + 1) % maxsize;
return 1;
}
bool dequeue(sqqueue& q, elemtype& e)//循环队列出队
{
if (q.front == q.rear)
{
return 0;
}
e = q.base[q.front];
q.front = (q.front + 1) % maxsize;
return 1;
}
elemtype gethead(sqqueue q)//取队头元素
{
if (q.front != q.rear)
{
return q.base[q.front];
}
}
int main()
{
return 0;
}
队列的顺序表示和实现
最新推荐文章于 2024-08-13 23:31:35 发布