文档介绍:循环队列的基本操作都可以实现,后面有代码。
代码:
#include<>
#include<>
#include<>
#include<>
#define MAX_SIZE 10//定义循环队列的长度
typedef struct{
int*base;
int front;
int rear;
int full;//队列是否已满的标志位
}Queue;
int creat_queue(Queue*q);
int en_queue(Queue*q,int e);
int out_queue(Queue*q,int*e);
int destroy_queue(Queue*q);
int length_queue(Queue*q);
void main()
{ Queue q;
int m,n,i,e,f,f1,k=0;
int a1,a2,a3,a4,a5,a6;//用来接函数返回值
int *e1,*e2;
=NULL;
e1=e2=&k;//对于指针最好这样初始化定义一下,因为只声明是没有分陪内存的,不能直接用*e
printf("----------------循环队列的基本操作---------------\n");
printf("---------------------------------\n");
printf("-------------------------------------\n");
printf("-------------------------------------\n");
printf("-------------------------------------\n");
printf("-------------------------------------\n");
printf("-----------------------------------\n");
printf("---------------------------------------\n");
printf("-------------------------------------------\n");
loop:
printf("请选择:");
scanf("%d",&m);
switch(m)
{ case 1: a1=creat_queue(&q);
if(a1==0)
{ printf("队列已经存在,请先销毁原来队列!\n");
break;}
printf("OK!队列创建成功!\n");
break;
case 2: printf("请输入要入队列的元素(整型):");
scanf("%d",&e);
a2=en_queue(&q,e);
if(a2==-1)
{ printf("队列不存在,请先创建队列!\n");
break;
}
else if