您好,登錄后才能下訂單哦!
棧的定義---Stack
棧只允許在棧的末端進行插入和刪除的線性表。棧具有先進后出的特性。
棧可用順序表實現也可用鏈表實現。
但:
由于棧只能在末端進行操作,應使用順序表實現。
用順序表實現,有如下優點:
(1)方便管理
(2)效率高
(3)cpu高速緩沖存取利用率高
實現如下:
測試如下:
分析構造函數:
本來_capacity = s._capacity,但在程序中卻令_capacity = s._top。
原因如下:
若sk1開辟的空間太大,而棧中的元素只占用了空間的一小部分。則在拷貝構造sk2時,只需要開辟能夠存的元素的空間即可。可以節省空間。若要在sk2上進行插入元素,則可以擴容。
隊列的定義---Queue
隊列只允許在隊尾插入,隊頭刪除。具有先進先出的特性。
隊列的實現可用順序表也可用鏈表。
若采用順序表,刪除時需要移動元素。為了操作方便,采取鏈表實現。
實現如下:
測試如下:
此程序中有一個缺憾,因隊列只能在隊頭和隊尾進行操作。所以在打印隊列時,不應該用print()。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。