首页 > 代码库 > 《数据结构与算法分析》学习笔记(五)——队ADT
《数据结构与算法分析》学习笔记(五)——队ADT
一、队的概念
队列也是一种表,但是是一种受限的表,只允许从一端插入,另一端山粗的表。
二、队列的数组实现
#define QMAXSIZE 100typedef 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 );}
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。