front変数を最後尾indexに固定して、そこには要素をいれずにrearに要素を追加しながら1を足していくリストです。
11oo 1は要素が入っているという表現です
rear 1 front 3
IsFullで
((rear + 1) % maxQue == front)となっていますが
maxQueで割ってあまり出す必要ないのではと考えました。
確かに結果は変わらないのですが、無駄なものはできるだけ削りたいなと思って質問させていただきました。
皆さまのご意見を聞かせてください
コード bool QueType::IsFull() const { return ((rear + 1) % maxQue == front); } void QueType::Enqueue(ItemType newItem) { if (IsFull()) throw FullQueue(); else { rear = (rear + 1) % maxQue; items[rear] = newItem; } }
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/12/26 11:27
2015/12/26 12:24