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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

數據結構,隊列的隊頭指針front、隊尾指針rear的問題

數據結構,隊列的隊頭指針front、隊尾指針rear的問題

軟考《軟件設計師教程》上講隊列的部分,存在一點疑問。我對隊列的理解:在空隊列時,front=rear=null,這時兩個指針指向最下面的線沒有問題,在入隊1個元素后,front不變,仍然為null,rear+1,此時應該指向“0”這個存儲單元。在圖b中,入隊3個元素,則rear應該指向“2”這個存儲單元,但圖B指向的卻是“3”。這時怎么回事呢?另外,隊列的頭指針和尾指針,指針不應該是指向存儲單元的嗎?圖上的指針都指在分隔線上,這個分隔線表示什么意思?。?
查看完整描述

1 回答

?
慕仙森

TA貢獻1827條經驗 獲得超8個贊

  1. 意思能明白就行,圖就甭深究了。我猜圖上想表達的意思,是兩個指針都存儲數組下標,用指向分割線來代表-1,所以在圖b中三個元素入隊的情況下,Q.front畫在了分割線上,表示隊列頭依然在原始位置,而Q.rear直接指向的是下一空單元。最后隊滿時,Q.rear也是指向了分割線的,表示(順序)隊列里已經沒有新的剩余空間了,所以同樣也是-1。

  2. 由1,我覺得看你怎么對兩個指針定義了,如果隊首指針指向的是首元素、隊尾指針指向的是尾元素,那么1個數據元素入隊以后,它們應該都指向下標為0的存儲單元才對;而如果想讓隊首指向null代表原始狀態,隊尾指向尾元素,那就是按你那種算法跑。這個依賴于你的實際定義,算法不一樣沒關系,只要跑的過測試也沒bug就好了。


查看完整回答
反對 回復 2018-10-29
  • 1 回答
  • 0 關注
  • 6823 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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