理论基础 —— 队列 —— 循环队列
生活随笔
收集整理的這篇文章主要介紹了
理论基础 —— 队列 —— 循环队列
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
【實現類】
const int MAXSIZE=100; template<class T> class cirQueue{ public:cirQueue();~cirQueue();void push(T x);//入隊T pop();//出隊bool empty();//判斷隊列是否為空T getFront();//獲取隊首元素int length();//獲取隊列長度 private:T data[MAXSIZE];int head,tail; };【入隊】
template <class T> void cirQueue<T>::push(T x){//入隊if((tail+1)%MAXSIZE==head)throw "上溢";tail=(tail+1)%MAXSIZE;data[tail]=x; }【出隊】
template <class T> T cirQueue<T>::pop(){//出隊if(head==tail)throw "下溢";head=(head+1)%MAXSIZE;return data[head]; }【判斷是否為空】
template<class T> bool cirQueue<T>::empty(){//判斷隊列是否為空if(head==tail)return true;return false; }【獲取隊首元素】
template<class T> T cirQueue<T>::getFront(){//獲取隊首元素if(head==tail)throw "下溢";int pos=(head+1)%MAXSIZE;return data[pos]; }【獲取隊列長度】
template<class T> int cirQueue<T>::length(){//獲取隊列長度if(head==tail)throw "下溢";int len=(tail-head+MAXSIZE)%MAXSIZE;return len; }?
總結
以上是生活随笔為你收集整理的理论基础 —— 队列 —— 循环队列的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 钓鱼(信息学奥赛一本通-T1431)
- 下一篇: 信息学奥赛一本通(1022:整型与布尔型