這篇文章主要為大家展示了如何實(shí)現(xiàn)C++棧(stack)的模板類(lèi),內(nèi)容簡(jiǎn)而易懂,希望大家可以學(xué)習(xí)一下,學(xué)習(xí)完之后肯定會(huì)有收獲的,下面讓小編帶大家一起來(lái)看看吧。
十年專(zhuān)注成都網(wǎng)站制作,企業(yè)網(wǎng)站設(shè)計(jì),個(gè)人網(wǎng)站制作服務(wù),為大家分享網(wǎng)站制作知識(shí)、方案,網(wǎng)站設(shè)計(jì)流程、步驟,成功服務(wù)上千家企業(yè)。為您提供網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)頁(yè)設(shè)計(jì)及定制高端網(wǎng)站建設(shè)服務(wù),專(zhuān)注于企業(yè)網(wǎng)站設(shè)計(jì),高端網(wǎng)頁(yè)制作,對(duì)成都石涼亭等多個(gè)方面,擁有豐富的網(wǎng)站運(yùn)維經(jīng)驗(yàn)。1.基本概念
棧中的元素遵守“先進(jìn)后出”的原則(LIFO,Last In First Out)
只能在棧頂進(jìn)行插入和刪除操作
壓棧(或推入、進(jìn)棧)即push,將數(shù)據(jù)放入棧頂并將棧頂指針加一
出棧(或彈出)即pop,將數(shù)據(jù)從棧頂刪除并將棧頂指針減一
棧的基本操作有:pop,push,判斷空,獲取棧頂元素,求棧大小
2.構(gòu)造棧
可以使用數(shù)組構(gòu)造棧,也可以使用單向鏈表構(gòu)造,我覺(jué)得使用單向鏈表更加靈活方便,下面的例子我使用單向鏈表來(lái)構(gòu)造棧。
單向鏈表的頭插法比較適合,鏈表頭作為棧頂:
節(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu):
templatestruct node { T value; //儲(chǔ)存的值 node * next; node() :next(nullptr){} //構(gòu)造函數(shù) node(T t) :value(t), next(nullptr){} };
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)建站www.cdcxhl.com,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線(xiàn),公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿(mǎn)足用戶(hù)豐富、多元化的應(yīng)用場(chǎng)景需求。