图及对应的邻接表如下:
代码如下:
datastruct.h
#define MaxSize 5
typedef struct
{
int data[MaxSize];
int front; // 队头
int rear; // 队尾
}SqQueue;
void initQueue(SqQueue &qu);
int isQueueEmpty(SqQueue qu);
int isQueueFull(SqQueue qu);
void enterQueue(SqQueue &qu, int x);
int getQueueLen(SqQueue &qu);
void deQueue(SqQueue &qu, int &x);
Queue_Ordercpp.cpp
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>
#include "datastruct.h"
#define MaxSize 5
// 出进队列都先分别先移动其指针,再出队,队列
// 初始化链表
void initQueue(SqQueue &qu)
{
qu.front = qu.rear = 0;
}
// 判断是否为空
int isQueueEmpty(SqQueue qu)
{
if (qu.front == qu.rear)
{
// printf("队列为空了");
return 1;
}
else
{
return 0;
}
}
// 留一个空位 来判断队列是否满
// 满了返回1
int isQueueFull(SqQueue qu)
{
if ((qu.rear + 1) % MaxSize == qu.front)
{
printf("队列