順序隊列裡,隊尾=隊列最大長度-1 ;隊列滿了,隊尾=隊首是,隊列空的。 假溢出:就是不是因為存儲空間不足而溢出,是因為多次刪除與插入操作造成的。
front和rear的初值在隊列初始化時定做-1。規定這樣的。是-1不是0哦。
循環隊列很好的解決了假溢出這個問題。因為首尾相連了,這樣隊尾就可以到隊頭那邊去了,不就不會假溢出了嘛。
循環隊列隊空和隊滿時的條件都是 隊首==隊尾 。不過嘞,這樣就沒辦法區別隊空和隊滿了。 不過方法總比困難多,這裡由三種方法來區別了。
1.設置tag標記。2.設置計數器num。3.少用一個存儲空間。第一種和第二種都較好理解,第三種就是循環隊列隊滿和隊空都是隊首==隊尾的嘛,這樣隊空還是隊首==隊尾,少用一個存儲空間,隊滿時 隊尾+1==隊首。 鏈隊列時只能在表頭插入和表尾刪除的單鏈表,注意啦,是表頭插入表尾刪除。
閱讀更多 枚笑暖 的文章