欢迎来到天天文库
浏览记录
ID:59521265
大小:73.00 KB
页数:14页
时间:2020-11-06
《循环数组实现队列.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、.队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。先进先出其有两种存储形式:链式和循环数组存储填写图片摘要(选填)存储结构:..循环数组存储结构类:填写图片摘要(选填)相关函数的实现:templateMyQueue::MyQueue(){q=newmyq;..q->ele=newT[Max];}templateMyQueue::~MyQueue(){deleteq;delete[]q->e
2、le;}templatevoidMyQueue::MakeNull(){q->head=q->rear=0;}templateboolMyQueue::IsEmpty()..{if(q->rear==q->head)returntrue;elsereturnfalse;}templateboolMyQueue::IsFull(){if((q->rear+1)%Max==q->head)returntrue;elsereturnfalse;}template..voidMyQueue::EnQueue(Tt){if(IsFull())cout<<"队满
3、";else{q->rear=(q->rear+1)%Max;q->ele[q->rear]=t;//cout<head=(q->head+1)%Max;//cout<head<<"head"<ele[q->head]<<"出队"<ele[q->head];}}templateintM
4、yQueue::lengthq(){return (q->rear-q->head+Max)%Max;}..可运行程序:#include#defineMax30usingnamespacestd;templatestructmyq{inthead,rear;T*ele;};templateclassMyQueue{public:MyQueue();~MyQueue();..voidMakeNull(); //将队列置空boolIsEmpty(); //判断是否为空boolIsFull(); //判断是否满voidEnQ
5、ueue(T); //入队TDeQueue(); //出队intlengthq(); //队列的长度private:myq*q;};templateMyQueue::MyQueue(){q=newmyq;q->ele=newT[Max];}..templateMyQueue::~MyQueue(){deleteq;delete[]q->ele;}templatevoidMyQueue::MakeNull(){q->head=q->rear=0;}templateboolMyQueue::IsEmpty(){if(q
6、->rear==q->head)..returntrue;elsereturnfalse;}templateboolMyQueue::IsFull(){if((q->rear+1)%Max==q->head)returntrue;elsereturnfalse;}templatevoidMyQueue::EnQueue(Tt){..if(IsFull())cout<<"队满";else{q->rear=(q->rear+1)%Max;q->ele[q->rear]=t;//cout<7、:DeQueue(){if(IsEmpty()){cout<<"队空!"<head=(q->head+1)%Max;//cout<head<<"head"<ele[q->head]<<"出队"<ele[q->head];}}templateintMyQueue::lengthq(){return (q->rear-q->head+Max)%Max;}intmain(){..MyQueuemyqueue;myqueue.Mak8、eNull();cout<<"20个数入队:"<
7、:DeQueue(){if(IsEmpty()){cout<<"队空!"<head=(q->head+1)%Max;//cout<head<<"head"<ele[q->head]<<"出队"<ele[q->head];}}templateintMyQueue::lengthq(){return (q->rear-q->head+Max)%Max;}intmain(){..MyQueuemyqueue;myqueue.Mak
8、eNull();cout<<"20个数入队:"<
此文档下载收益归作者所有