定义一个长度为k的循环队列,有一个字符串s(长度>k),编写程序完成进队出队。 编译有问题,不知怎么改?
#include stdio.h#include stdlib.h
#define MAXSIZE 10; //最大队列长度
typedef char DataType;
typedef struct{
DataType base; //初始化的动态分配存储空间
int front ,rear; //头,尾指针,若队列不空,指队头元素、队列尾元素的下一个位置
} SqQueue;
-------------------实现-----------
void InitQueue (SqQueue &Q) //初始化队列
{
}
bool isQEmpty( SqQueue Q) //判队空
{
}
bool isQFull( SqQueue Q) //判队满
{
}
void EnQueue(SqQueue &Q, DataType &e) //向队列中添加元素
{
}
void OutQueue(SqQueue &Q, DataType &e) //出队
{
e=Q.base[Q.front];
Q.front=(Q.front+1)% MAXSIZE;
Q.base[Q.rear]=e;
Q.rear=(Q.rear+1)% MAXSIZE;
if ((Q.rear+1) % MAXSIZE ==Q.front)
else
return false;
return true;
if (Q.front==Q.rear)
else
return false;
return true;
Q.base=(DataType )malloc( MAXSIZE sizeof( DataType) );
Q.front=Q.rear=0;
}
-------------------实现完毕-----------
void main() 调用函数
{
}
SqQueue Q1;
InitQueue (Q1);
char c1, c2;
cout请读入符号串,以 # 号结束endl;cinc1;
while( c1!='#') { }
while( ! isQEmpty(Q1) ) { }
OutQueue(Q1,c2);
coutc2;
if( ! isQFull(Q1) ) { }
else { } OutQueue(Q1,c2);
coutc2;
EnQueue(Q1, c1);
cinc1;
coutendl;