數(shù)據(jù)結(jié)構(gòu)與算法 - 棧的操作及應(yīng)用
第1關(guān):順序棧的基本操作實(shí)現(xiàn)



第2關(guān):順序棧的應(yīng)用-無符號十進(jìn)制整數(shù)轉(zhuǎn)換到十六進(jìn)制數(shù)



第3關(guān):鏈?zhǔn)綏5幕静僮鲗?shí)現(xiàn)



第4關(guān):鏈?zhǔn)綏5膽?yīng)用-無符號十進(jìn)制整數(shù)轉(zhuǎn)換成十六進(jìn)制數(shù)


第5關(guān):給定一個整數(shù)棧的入棧序列判定某個出棧序列是否是合法。

方法一:手寫棧

方法二:題目給出的棧

????棧更加靈活,適合代碼能力較強(qiáng)的同學(xué),在算法競賽中也是經(jīng)常使用的,這個頭歌平臺的給的棧,并不是標(biāo)準(zhǔn)棧,只是比較適用于教學(xué)的一種棧,在C++標(biāo)準(zhǔn)容器棧中很多函數(shù)的類型和參數(shù)并不一樣,想了解更多的知識可以去看看C++標(biāo)準(zhǔn),官方棧的書寫是更加符合實(shí)際的。
今日總結(jié)
進(jìn)制轉(zhuǎn)換中會涉及到棧的運(yùn)用,我們也可以使用遞歸函數(shù)實(shí)現(xiàn),最小進(jìn)制---2進(jìn)制,最多32次即可達(dá)到1e9的數(shù)據(jù)范圍,我們可以選擇使用遞歸實(shí)現(xiàn)進(jìn)制轉(zhuǎn)換。
我們還可以使用手寫棧實(shí)現(xiàn)棧
手寫棧的標(biāo)準(zhǔn)是:


Init操作????int a[1010],idx=0;
push操作????a[++idx]=x;
pop操作? if(idx)????idx--;
empty操作 return idx?1:0;
時間不等人,希望大家可以繼續(xù)追逐自己喜歡做的事,完成自己的夢想。
標(biāo)簽: