當前位置:首頁 » 存儲配置 » 循環隊列所佔存儲空間

循環隊列所佔存儲空間

發布時間: 2024-03-09 21:03:54

㈠ 循環隊列的存儲空間為(0:59),初始狀態為空,經過一系列正常的入隊與退隊操作後,front=25

設有一個用數組Q[1..m]表示的環形隊列,約定f為當前隊頭元素在數組中的位置,r為隊尾元素的後一位置(按順時針方向),若隊列非空,則計算隊列中元素個數的公式應為 (m+r-f)mod m

(60+24-25)mod 60 =59

分析:

 對於順序隊列,頭指針和尾指針開始時刻都指向數組的0下標元素。當加入新元素以後,尾指針向後移動,指向最後一個元素的下一個位置。

但是尾指針不能超過數組的最大范圍。當有元素刪除時,頭指針向後移動。但是頭指針不能低於數組的0下標。這樣就會引入一種「假溢出」現象,

數組中存在空餘的空間,但是由於尾指針已經在最大位置,不能加入元素。

    循環隊列就可以用來解決 假溢出 問題, 當隊列後面的滿了,就從頭在開始,形成頭尾相接的循環. 

    出現的問題:  front=rear即頭指針和尾指針相等,但是對應兩種情況:一種是隊列是空,一種是隊列是滿。

    所以,我們定義循環隊列中空出一個位置為滿隊列狀態。front指向頭元素,rear指向尾元素的下一個位置。

    那麼循環隊列的長度如何計算呢? 

     情況一:  當rear大於front時,循環隊列的長度:rear-front

    情況二:  當rear小於front時,循環隊列的長度:分為兩部分計算 0+rear   和   Quesize-front  ,  將兩部分的長度合並到一起即為: rear-front+Quesize

    所以將兩種情況合為一種,即為:  總長度是(rear-front+Quesize)%Quesize

熱點內容
android設備搭建伺服器 發布:2025-01-19 19:20:25 瀏覽:24
phplinux安裝配置 發布:2025-01-19 19:10:23 瀏覽:233
人才招聘系統php 發布:2025-01-19 19:10:22 瀏覽:586
大學資料庫題庫 發布:2025-01-19 19:00:27 瀏覽:572
樓下大門如何設置開門密碼 發布:2025-01-19 18:59:43 瀏覽:161
dns怎麼配置最優 發布:2025-01-19 18:59:42 瀏覽:518
車輛辦理解壓要收費怎麼處理 發布:2025-01-19 18:39:46 瀏覽:951
san存儲櫃 發布:2025-01-19 18:39:35 瀏覽:64
伏魔記安卓版怎麼什麼鍵都沒有 發布:2025-01-19 18:38:54 瀏覽:902
lol聲音文件夾 發布:2025-01-19 18:38:54 瀏覽:318