資料結構設計

來源:互聯網
上載者:User

標籤:

之前在簡書上初步總結過幾個有關棧和隊列的資料結構設計的題目。http://www.jianshu.com/p/d43f93661631

實現貓狗隊列,貓類型和狗類型都繼承自Pet類型

Pet類型如下

要求如下:

思路:

如果使用一個隊列來儲存,那麼無法區分貓和狗;如果使用兩個隊列,那麼pollAll()中貓和狗的先後順序無法區分;繼續思考時候可以使用一個時間戳記,相當於一個map,鍵為pet,值為其如隊列的時間,但是這帶來一個問題就是同一個寵物多次進隊列的問題。所以,採用建立一個資料結構PetEnterQueue類型,對之前的寵物進行封裝。這個類型包含Pet和count兩個變數,然後貓狗隊列中實際存放的是這個PetEnterQueue的執行個體,如隊列的時候可以檢測時貓還是狗然後封裝進count之後進入各自的隊列(貓和狗),然後pollDog pollPet的時候自個兒彈就行了,pollAll的時候先彈出兩個隊列頭的count較小的。

 

資料結構設計

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.