-
隊(duì)列? :普通隊(duì)列? ?浪費(fèi)資源不方便
????????????環(huán)形隊(duì)列????充分利用每個(gè)內(nèi)存空間
查看全部 -
#include?"Customer.h" class?MyQueue{ public: ????... ????bool?EnQueue(Customer?element); ????bool?DeQueue(Customer?&element); ????... private: ????Customer?*m_pQueue; ????... }; //在MyQueue.cpp中 void?MyQueue::QueueTraverse(){ ????for(int?i=m_iHead;i<m_iQueueLen?+?m_iHead;i++){ ????????m_pQueue[i%m_iQueueCapacity].printInfo(); ????????//printInfo是Customer中的成員函數(shù),打印出Customer的數(shù)據(jù)成員 ????} } //使用 MyQueue?*p=new?MyQueue[4]; Customer?c1("zhangsan",20); p->EnQueue(c1);
查看全部 -
//MyQueue.cpp #include?"MyQueue.h" #include?<iostream> using?namespace?std; MyQueue::MyQueue(int?queueCapacity){ ????m_iQueueCapacity=queueCapacity; ????ClearQueue();m_pQueue=new?int[m_iQueueCapacity]; } MyQueue::~MyQueue(){ ????delete?[]m_pQueue; ????m_pQueue=NULL; } void?MyQueue::ClearQueue(){ ????m_iHead=0; ????m_iTail=0; ????m_iQueueLen=0; } //判斷為空 bool?MyQueue::QueueEmpty()?const{ ????if(m_iQueueLen==0){ ????????return?true; ????} ????else{ ????????return?false; ????} } //隊(duì)列長(zhǎng)度 int?MyQueue::QueueLength()?const{ ????return?m_iQueueLen; } //插入新元素 bool?MyQueue::EnQueue(int?element){ ????if(QueueFull()){ ????????return?false; ????} ????else{ ????????m_pQueue[m_iTail]=element; ????????m_iTail++;??//下標(biāo) ????????m_iTail=m_iTail?%?m_iQueueCapacity; ????????m_iQueueLen++;return?true; ????} } //判斷為滿 bool?MyQueue::QueueFull()?const{ ????if(m_iQueueLen?==?m_iQueueCapacity){ ????????return?true; ????} ????else{ ????????return?false; ????} } //元素出隊(duì) bool?MyQueue::DeQueue(int?&element){//必須是引用 ????if(QueueEmpty()){ ????????return?false; ????} ????else{ ????????element=m_pQueue[m_iHead]; ????????m_iHead++; ????????m_iHead=m_iHead?%?m_iQueueCapacity; ????????m_iQueueLen--;return?true; ????} } //遍歷 void?MyQueue::QueueTraverse(){ ????cout<<endl; ????for(int?i=m_iHead;i<m_iQueueLen+m_iHead;i++){ ????????cout<<m_pQueue[i%m_iQueueCapacity]<<endl; ????} }
查看全部 -
class?MyQueue{ public: ????MyQueue(int?queueCapacity);???//創(chuàng)建隊(duì)列 ????virtual?~MyQueue();????//銷毀隊(duì)列 ????void?ClearQueue();???//清空隊(duì)列 ????bool?QueueEmpty()?const;???//判空隊(duì)列 ????int?QueueLength()?const;???//隊(duì)列長(zhǎng)度 ????bool?EnQueue(int?element);???//新元素入隊(duì) ????bool?DeQueue(int?&element);???//首元素出隊(duì) ????void?QueueTraverse();????//遍歷隊(duì)列 private: ????int?*m_pQueue;?????//隊(duì)列數(shù)組指針 ????int?m_iQueueLen;?????//隊(duì)列元素個(gè)數(shù) ????int?m_iQueueCapacity;???//隊(duì)列數(shù)組容量 };
查看全部 -
【隊(duì)列】先入先出First in First out(FIFO)
1、普通隊(duì)列
2、環(huán)形隊(duì)列:順時(shí)針和逆時(shí)針的排隊(duì)
查看全部 -
.查看全部
-
.查看全部
-
.查看全部
-
.查看全部
-
.查看全部
-
.查看全部
-
.查看全部
-
.查看全部
-
.查看全部
-
.查看全部
舉報(bào)
0/150
提交
取消