棧的定義---Stack
站在用戶的角度思考問題,與客戶深入溝通,找到杭州網(wǎng)站設計與杭州網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設計與互聯(lián)網(wǎng)技術結合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都網(wǎng)站設計、網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、主機域名、虛擬空間、企業(yè)郵箱。業(yè)務覆蓋杭州地區(qū)。棧只允許在棧的末端進行插入和刪除的線性表。棧具有先進后出的特性。
??捎庙樞虮韺崿F(xiàn)也可用鏈表實現(xiàn)。
但:
由于棧只能在末端進行操作,應使用順序表實現(xiàn)。
用順序表實現(xiàn),有如下優(yōu)點:
(1)方便管理
(2)效率高
(3)cpu高速緩沖存取利用率高
實現(xiàn)如下:
測試如下:
分析構造函數(shù):
本來_capacity = s._capacity,但在程序中卻令_capacity = s._top。
原因如下:
若sk1開辟的空間太大,而棧中的元素只占用了空間的一小部分。則在拷貝構造sk2時,只需要開辟能夠存的元素的空間即可??梢怨?jié)省空間。若要在sk2上進行插入元素,則可以擴容。
隊列的定義---Queue
隊列只允許在隊尾插入,隊頭刪除。具有先進先出的特性。
隊列的實現(xiàn)可用順序表也可用鏈表。
若采用順序表,刪除時需要移動元素。為了操作方便,采取鏈表實現(xiàn)。
實現(xiàn)如下:
測試如下:
此程序中有一個缺憾,因隊列只能在隊頭和隊尾進行操作。所以在打印隊列時,不應該用print()。
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。