顺序队列,emmm,跟栈一样简单
初始化
//定义结构体
typedef struct {
int data[MaxSize];
int front, rear;
}Queue, *PQueue;
//初始化
void initQueue(Queue &Q)
{
Q.front = Q.rear = 0;
}
判空,判满
//判断是否为空
bool isEmpty(Queue q)
{
if (q.front == q.rear) return true;
else return false;
}
//判断是否队满
bool isFull(Queue &q)
{
if ((q.rear + 1)%MaxSize == q.front)
return true;
else
return false;
}
入队
//入队
bool EnQueue(Queue &q, int x) {
if (isFull(q)) return false;
else
{
q.data[q.rear] = x;
q.rear = (q.rear + 1)%MaxSize;
return true;
}
}
出队
//出队
bool DeQueue(Queue &q, int &x)
{
if (isEmpty(q)) return false;
else
{
x = q.data[q.front];
q.front = (q.front+1)%MaxSize;
return true;
}
}
发现有问题了,及时跟我反应
返回目录:
https://www.acwing.com/file_system/file/content/whole/index/content/5976074/