Ⅰ 當用大小為n的數組存儲順序循環隊列時,該隊列的最大長度為
n+1單進制組和空不空沒關系~~
Ⅱ 利用大小為n的數組和隊頭,隊尾指針存儲循環隊列,不再附加任何標志,則隊列元素最多為
應該是n-1
必須空一個位置。無論兩個指針如何擺放,如果允許n個元素的話,隊列滿的狀態會和隊列空的狀態相同,會產生嚴重問題。因此空一個位置最安全。
比如隊列空是 write == read
隊列滿是 (write + 1) mod n == read
Ⅲ 當利用大小為n的數組順序存儲一個隊列時,該隊列的最大長度為
n+1
因為隊列的頭指針指向的是第一個元素的前一個結點
,而不是指向第一個元素,因此隊列的頭指針要佔用一個
結點長度,所以隊列的長度就是n+1;
Ⅳ 當利用大小為n的數組順序存儲一個隊列時,該隊列最大的容量為
n-1
假設數組是type array[n]
type* front,*rear;
front=rear=array;
入隊操作
*rear=x;
rear++;
出隊操作
front++;
數組下標最大是n-1
array[n-2]存過數據後rear指向arrar[n-1]
這個時候不能再存了,再存就越界了,雖然vc6.0可以編譯通過,可以運行,因為vc6.0對數組沒有嚴格的越界檢查,但是這是危險的!
所以我答案是n-1
Ⅳ 當利用大小為n的數組順序存儲一個隊列時,採用犧牲一個單元來區分隊空和隊滿,該隊列的最大長度是
樓主和handin應該是同一個人吧。
上一個問題我回答過了,既然犧牲了一個單元,那麼隊列的最大長度自然是:n-1
另外,如果你問n最大多少的話,那麼取決與你的下標寬度(當然還有內存大小)。比如32位整數下標就是2^32長。
Ⅵ 大小為n的數組順序存儲隊列,隊列最大長度為什麼是n+1
沒懸賞分,又要人家詳細解釋,估計沒幾個人。而且別人解釋得再詳細,不一定適合樓主的想法。建議自己看書,數據結構(清華
嚴蔚敏)循環隊列相應章節,講得很清楚。
Ⅶ 數據結構問題
n呀,頭尾指向同一個元素則說明隊列裝不下了或者隊列為空,頭指向第一個,尾指向最後一個元素的下一個,當指向同一個且為裝滿了時,隊列n個空間全滿了
此時採用標志位來標記是空還是滿,而不是減掉一個