正在加载图片...
if((Q->rear+1)%MAXQS IZE==Q->front) return error Q->base[Q->rear]=e Q->rear=(Q->rear+1)%MAXQSIZE return OK /**幸**亲幸春率***亲幸***率本*率春**幸 功能:出队操作 六输入:队列对象S的指针 输出:成功时返回OK、通过数据元素指针e返回队首元素的值 空队列时返回 ERROR int DeQueue (SqQueue *Q, ElemType *e) if(Q->rear==Q>front) *e=Q->base [Q->front Q->front=(Q->front +1)%MAXQSIZE return maino Elem Sqqueue InitQueue(&que) eue (aque /*元素1进队列*/ /*元素2进队列*/ EnQueue(&que, 3): /*元素3进队列*/ DeQueue(&que,&elem); printf("%d",eem);/*1出队列*/ DeQueue(&que,&elem); printf("%d",eem);/*2出队列*/ DeQueue(&que,&elem); printf("%d",elem);/*3出队列*/ DeQueue(&que, &elem): printf("%d", elem) /*队列已空,由于未检查返回结果,取出的还是3,产生错误 所以应检查返回结果,当返回结果为0K时访问elem才有意义*/if ((Q->rear+1)%MAXQSIZE==Q->front) return ERROR; Q->base[Q->rear]=e; Q->rear=(Q->rear+1)%MAXQSIZE; return OK; } /******************************************************************* ** 功能:出队操作 ** ** 输入:队列对象 S 的指针 ** ** 输出: 成功时返回 OK、通过数据元素指针 e 返回队首元素的值 ** ** 空队列时返回ERROR ** *******************************************************************/ int DeQueue(SqQueue *Q,ElemType *e) { if (Q->rear==Q->front) return ERROR; *e=Q->base[Q->front]; Q->front=(Q->front+1)%MAXQSIZE; return OK; } main() { ElemType *elem; SqQueue que; clrscr(); InitQueue(&que); EnQueue(&que,1); /*元素1进队列*/ EnQueue(&que,2); /*元素2进队列*/ EnQueue(&que,3); /*元素3进队列*/ DeQueue(&que,&elem); printf("%d",elem); /*1 出队列*/ DeQueue(&que,&elem); printf("%d",elem); /*2 出队列*/ DeQueue(&que,&elem); printf("%d",elem); /*3 出队列*/ DeQueue(&que,&elem); printf("%d",elem); /*队列已空,由于未检查返回结果,取出的还是3,产生错误, 所以应检查返回结果,当返回结果为OK时访问elem才有意义*/ }
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有