亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

清空隊列的時候

  1. 為什么不需要將數組中的元素賦值為0來清空隊列中的元素,而僅僅是設置頭、尾、長度為0?

  2. 如果說清空后再插入隊列的新值會覆蓋舊值,那么考慮一種情況,假如一個隊列10個元素,全部填滿,然后按照視頻中的方法清空隊列,這時候,再次操作隊列,只插入5個元素,那是不是會出現讀取該隊列的時候該隊列依然是10個元素的情況呢?(5個新入隊的,5個舊值)

正在回答

2 回答

  1. 僅僅將元素賦值為0,0也是一個int 數值占據內存空間,并未起到清空隊列的作用。

  2. 清空隊列的時候已經設置長度為零,再次插入數值的時候長度重新從零計數,插入5個長度增到5,不會出現再次讀取的時候長度還是10 的情況

0 回復 有任何疑惑可以回復我~

謝謝你!不過對于第二個問題,我的理解是,長度分為數組長度m_length和已經入隊的對象長度m_used兩種。事實上清零是將m_used清零,而m_length依然沒變,所以在我上面假設的情況下,倘若再讀取m[i],其中5<i<m_length,是會讀取到以前的舊值的。雖然說實際情況下i的上限是m_used-1,正常情況下不會讀取到后面的值,但是這樣清空數組會不會有些問題呢。(因為值并沒有被清空,還是存在堆內存里面)

0 回復 有任何疑惑可以回復我~
#1

暗夜丶秋風

我感覺的話,如果按照你說的方式的,那么就需要銷毀隊列再去重現創建隊列,那樣子是不是會有點不符合隊列的概念?因為那相當于開辟了一個新的隊列去銷毀舊的隊列而已
2019-04-15 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

清空隊列的時候

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號