《数据结构与算法分析》学习笔记(五)——队ADT
一、队的概念
队列也是一种表,但是是一种受限的表,只允许从一端插入,另一端山粗的表。
二、队列的数组实现
#define QMAXSIZE 100 typedef int Position; typedef int QElement; typedef struct queue { QElement Els[QMAXSIZE]; Position head,tail; }Queue; void QCreate(Queue &Q) { Q.head = Q.tail = 0; } void Enqueue(QElement e,Queue &Q) { if((Q.tail + 1) % QMAXSIZE == Q.head) { printf("Queue Full"); } else { Q.Els[Q.tail] = e; Q.tail = (Q.tail + 1)% QMAXSIZE; } } void Dequeue(QElement &e,Queue &Q) { if(Q.head == Q.tail) { printf("Queue Empty"); } else { e = Q.Els[Q.head]; Q.head = (Q.head + 1) % QMAXSIZE; } } QElement Head(Queue Q) { if(Q.tail == Q.head ) { printf("Queue Empty"); } else { return Q.Els[Q.head]; } } bool Empty(Queue Q) { return(Q.tail == Q.head ); } bool Full(Queue Q) { return((Q.tail + 1) % QMAXSIZE == Q.head ); }
本文作者:Blue Mountain
本文链接:https://www.cnblogs.com/BlueMountain-HaggenDazs/p/3927731.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步