网站开发 实时更新,湛江seo网站推广,网站域名更换,网站查询ip地址1.实验内容#xff1a;
编写一个程序sqqueue.cpp#xff0c;实现环形队列(假设栈中元素类型ElemType 为 char)的各种基本运算#xff0c;并在此基础上设计一个程序exp4_1.cpp#xff0c;完成如下功能:
2.实验步骤#xff1a;
(1)初始化队列q
(2)判断队列q是否非空
(3…1.实验内容
编写一个程序sqqueue.cpp实现环形队列(假设栈中元素类型ElemType 为 char)的各种基本运算并在此基础上设计一个程序exp4_1.cpp完成如下功能:
2.实验步骤
(1)初始化队列q
(2)判断队列q是否非空
(3)依次进队元素a、b、c
(4)出队一个元素输出该元素
(5)依次进队元素d、e、f
(6)输出出队序列
(7)释放队列。
3.实验代码
创建一个文件命名为sqstack.cpp在文件下放代码
#include stdio.h
#include malloc.h
#define MaxSize 100
typedef char ElemType;
typedef struct
{ElemType data[MaxSize];
int front,rear;
}SqQueue;
void InitQueue(SqQueue *q){ //初始化环形队列q q(SqQueue *)malloc(sizeof(SqQueue));q-frontq-rear0;
}
void DestroyQueue(SqQueue *q){ //销毁环形队列 free(q);
}
bool QueueEmpty(SqQueue *q){return(q-frontq-rear);
}
bool enQueue(SqQueue *q,ElemType e){ //进队列 if ((q-rear1)%MaxSizeq-front)return false; //队列满 q-rear(q-rear1)%MaxSize;q-data[q-rear]e;return true;
}
bool deQueue(SqQueue *q,ElemType e){ //出队列 if (q-rearq-front)return false; //队空 q-front(q-front1)%MaxSize;eq-data[q-front];return true;
} 创建另一个文件在文件下放代码
#include sqstack.cpp
int main()
{ElemType e;SqQueue *q;printf(环形队列基本运算如下\n);printf((1)初始化队列q\n);InitQueue(q);printf((2)依次进队元素a,b,c\n);if(!enQueue(q,a)) printf(\t提示队满不能进队\n); if(!enQueue(q,b)) printf(\t提示队满不能进队\n);if(!enQueue(q,c)) printf(\t提示队满不能进队\n);printf((3)队列为%s\n,(QueueEmpty(q)?空:非空));if(deQueue(q,e)0)printf(队空不能出队\n);elseprintf((4)出队一个元素%c\n,e);printf((5)依次进队列元素d,e,f\n);if(!enQueue(q,d)) printf(\t 提示队满不能进队\n);if(!enQueue(q,e)) printf(\t 提示队满不能进队\n);if(!enQueue(q,f)) printf(\t 提示队满不能进队\n);printf((6)出队列序列);while(!QueueEmpty(q)){deQueue(q,e);printf(%c,e);}printf(\n);printf((7)释放队列\n);DestroyQueue(q);return 1;
}