總體思想就是不讓rear和front的值超過maxn的大小。於是就在rear和front自增時候模maxn。
注意!!:空隊時rear等於front,滿隊時必須空乙個位置。但是size就是size,說存3個就是存3個
#include
using
namespace std;
template
<
typename t>
class
circlequeue
~circlequeue()
bool
isempty()
bool
isfull()
void
push
(t data)
m_data[m_rear]
= data;
m_rear =
(m_rear +1)
% m_size;
}void
pop(
) m_front =
(m_front +1)
% m_size;
}void
popall()
while
(m_front != m_rear)
m_front =
(m_front +1)
% m_size;
} t top()
return m_data[m_front];}
};intmain()
q.push(5
);q.push(5
);q.push(5
);cout << q.
top(
)<< endl;
q.pop()
; cout << q.
top(
)<< endl;
q.pop()
; cout << q.
top(
)<< endl;
q.pop()
; q.
push(5
);q.push(5
);q.push(5
);q.popall()
;//cout << q.top() << endl;
return0;
}
c 環形佇列
上一章說到的陣列模擬佇列存在的問題,問題分析並優化 對前面的陣列模擬佇列的優化,充分利用陣列。因此將陣列看做是乙個環形的。通過去模的方式來實現即可 分析說明 實現思路如下 public class circlearrayqueue maxsize maxsize temparray new int ...
golang環形佇列實現
table of contents 什麼是環形佇列 實現環形佇列圖示過程 golang版 實現過程 參考全部 在乙個指定大小的陣列裡迴圈寫入資料,借用二個指標分別實現入隊標記與出隊標記.也體現了指標的大好用處,請深入體會.大有裨益.如圖所示,乙個環形佇列.含有二個指標 佇列頭指標,佇列尾指標.初始化...
佇列和環形佇列的實現
1 基本介紹 2 陣列模擬佇列 public class arrayqueuedemo catch exception e break case h trycatch exception e break case e scanner.close flag false break default br...