实验08 队列(循环队列)的表示和实现(4)

发布时间:2021-06-06

}

SeqQueue.h

struct Queue{

ElemType *queue;

int front,rear,len;

int MaxSize;

};

void InitQueue(Queue &Q)

{

Q.MaxSize=10;

Q.queue=new ElemType[Q.MaxSize];

Q.front=Q.rear=0;

}

void EnQueue(Queue &Q,ElemType item)

{

if((Q.rear+1)%Q.MaxSize==Q.front){

int k=sizeof(ElemType);

Q.queue=(ElemType*)realloc(Q.queue,2*Q.MaxSize*k); if(Q.rear!=Q.MaxSize-1){

for(int i=0;i<=Q.rear;i++)

Q.queue[i+Q.MaxSize]=Q.queue[i]; Q.rear+=Q.MaxSize;

}

Q.MaxSize=2*Q.MaxSize;

}

Q.rear=(Q.rear+1)%Q.MaxSize;

Q.queue[Q.rear]=item;

}

ElemType OutQueue(Queue &Q)

{

if(Q.front==Q.rear){

cerr<<"队列已空,无法删除!"<<endl;

exit(1);

}

Q.front=(Q.front+1)%Q.MaxSize;

return Q.queue[Q.front];

}

ElemType PeekQueue(Queue &Q)

{

实验08 队列(循环队列)的表示和实现(4).doc 将本文的Word文档下载到电脑

精彩图片

热门精选

大家正在看

× 游客快捷下载通道(下载后可以自由复制和排版)

限时特价:7 元/份 原价:20元

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219