/*
创建队列
*/
SEQUEUE initQueue();
在QueueControl.c中实现此方法
#include "QueueControl.h"
/*
创建队列
*/
SEQUEUE initQueue(){
SEQUEUE Q;
//1.初始化队列,队头指针=队尾指针=0
Q.front=Q.rear=0;
return Q;
}
(2)插入
在QueueControl.h写出方法声明
/*
插入
*/
SEQUEUE inQueue(SEQUEUE Q,DT x);
在QueueControl.c中实现此方法
#include "QueueControl.h"
SEQUEUE inQueue(SEQUEUE Q,DT x){
//1.判断队列是上溢,就是队尾指针是否等于最大申请的空间
if(Q.rear==M){
printf("Up Overflown");
}else{
//2.从队尾插入结点
Q.rear++;
Q.data[Q.rear]=x;
printf("in successn");
}
return Q;
}
(3)删除
在QueueControl.h写出方法声明
/*
删除
*/
SEQUEUE outQueue(SEQUEUE Q);
/*
打印队列元素
*/
void printQueue(SEQUEUE Q);
在QueueControl.c中实现此方法
#include "QueueControl.h"
SEQUEUE outQueue(SEQUEUE Q){
//1.首先判断是否是空队列
if(Q.front==Q.rear){
printf("queue is emptyn");
}else{
//2.删除结点是从队头删除
Q.front++;
printf("out successn");
}
return Q;
}
/*
打印队列元素
*/
void printQueue(SEQUEUE Q){
//1.从队头开始打印数据
SEQUEUE temp=Q;
printf("queue={");
while (temp.front<temp.rear) {
temp.front++;
if(temp.front==Q.front+1){
printf("%c",temp.data[temp.front]);
}else{
printf(",%c",temp.data[temp.front]);
}
}
printf("}n");
}
在main.c中的main方法(int main(int argc, const char * argv[]) {})调用此方法,并且进行判断










