第三章_栈和队列作业答案(9)

2020-12-24 20:18

3.7 假设以带头结点的循环链表表示队列,并且只设一个指针指向队尾元素结点 假设以带头结点的循环链表表示队列, (注意不设头指针),试编写相应的队列初始化、入队列和出队列的算法. 注意不设头指针),试编写相应的队列初始化 入队列和出队列的算法. 试编写相应的队列初始化、typedef struct queuenode { Datatype data; struct queuenode *next;}QueueNode; *next;}QueueNode; //以上是结点类型的定义 //以上是结点类型的定义 typedef struct {queuenode *rear;}LinkQueue; *rear;}LinkQueue; //只设一个指向队尾元素的指针 //只设一个指向队尾元素的指针 status InitQueue( LinkQueue *Q) { Q->rear=(QueueNode *) malloc (sizeof(QueueNode)); if (!Q->rear) exit(OVERFLOW); Q(!QQ->rear->next = Q->rear; >rearQ} int EmptyQueue( LinkQueue *Q) { if (Q->rear= =Q->rear->next) return 1; else return 0; } (Q=Q->rearvoid EnQueue( LinkQueue *Q, Datatype x) { QueueNode *p; p=(QueueNode *) malloc (sizeof(QueueNode)); if(!p) exit(OVERFLOW); p->data=x; p->next=NULL; pp->next=Q->rear->next; Q-rear->next=p; Q->rear=p; >next=Q->rearQ-rearQ} Datatype DeQueue( LinkQueue *Q) { Datatype x; QueueNode *p; if (Q->rear= =Q->rear->next) Error("Queue underflow"); (Q=Q->rearp=Q->rear->nextp=Q->rear->next->next; x=px=p->data; Q->rear->next->next=p->next; free(p); Q->rear->next->next=preturn x; }


第三章_栈和队列作业答案(9).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:广告行业收入会计处理

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

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