棧的學(xué)習(xí)

棧是一個(gè)線性數(shù)據(jù)結(jié)構(gòu)。

棧有手寫棧,STL棧,stack棧。

手寫棧即用數(shù)組模擬棧,STL棧有vector棧,其次就是stack棧。

所需頭文件:#include<stack>

棧的操作函數(shù):

定義一個(gè)棧? ?stack<int>s;

bool empty()判斷是否為空棧,若為空返回true

s.top()訪問棧頂,取出最后進(jìn)入的一個(gè)元素但不刪除

s.push()進(jìn)棧

s.pop()彈出棧(但不知道會(huì)彈到哪里)刪除,但不返回該元素

s.size()返回棧內(nèi)元素的大小

PS:進(jìn)棧前首先檢查棧是否已滿,滿則溢出。出棧前首先檢查棧是否已為空棧,空則下溢。

對(duì)于出棧運(yùn)算中的下溢,程序中僅給出了一個(gè)標(biāo)志信息,而在實(shí)際應(yīng)用中,下溢可用來作為控制程序轉(zhuǎn)移的判斷標(biāo)志,是十分有用的。對(duì)于入棧運(yùn)算中的上溢,則是一種致命的錯(cuò)誤,將使程序無法繼續(xù)運(yùn)行,所以要設(shè)法避免。

棧的經(jīng)典習(xí)題有車站調(diào)度,括號(hào)的匹配,后綴表達(dá)式(亦稱逆波蘭表達(dá)式)。

可以自己多做練習(xí)。

另外附上我們機(jī)房一位可愛的dalao的代碼(密集恐懼癥勿下滑)

#include<bits/stdc++.h>

using? namespace std;

int m;

int main(){

int a=100,b=200,c=300,a1,b1,c1;

for(int i=0;i<=233;i++)

for(int j=0;j<=467;j++)

for(int e=0;e<=700;e++)

if(a+i==(b+j)/2.000000&&a+i==(c+e)/3.000000)

if((a+i)%10!=(b+j)%10&&(b+j)%10!=(c+e)%10&&(a+i)%10)

if((a+i)/100!=(b+j)/100&&(b+j)/100!=(c+e)/100&&(a+i)/100)

if((a+i)/10%10!=(b+j)/10%10&&(b+j)/10%10!=(c+e)/10%10&&(a+i)/10%10)

if((a+i)/100!=(a+i)%10&&(a+i)/100!=(a+i)/10%10&&(a+i)%10!=(a+i)/10%10)

if((b+j)/100!=(b+j)%10&&(b+j)/100!=(b+j)/10%10&&(b+j)%10!=(b+j)/10%10)

if((c+e)/100!=(c+e)%10&&(c+e)/100!=(c+e)/10%10&&(c+e)%10!=(c+e)/10%10)

if((a+i)/100!=(b+j)%10&&(a+i)/100!=(c+e)%10&&(a+i)/100!=(b+j)/10%10&&(a+i)/100!=(c+e)/10%10)

if((a+i)/10%10!=(b+j)%10&&(a+i)/10%10!=(c+e)%10&&(a+i)/10%10!=(b+j)/10%10&&(a+i)/10%10!=(c+e)/10%10)

if((a+i)%10!=(b+j)%10&&(a+i)%10!=(c+e)%10&&(a+i)%10!=(b+j)/10%10&&(a+i)%10!=(c+e)/10%10)

if((b+j)/100!=(a+i)%10&&(b+j)/100!=(c+e)%10&&(b+j)/100!=(a+i)/10%10&&(b+j)/100!=(c+e)/10%10)

if((b+j)/10%10!=(a+i)%10&&(b+j)/10%10!=(c+e)%10&&(b+j)/10%10!=(a+i)/10%10&&(b+j)/10%10!=(c+e)/10%10)

if((b+j)%10!=(a+i)%10&&(b+j)%10!=(c+e)%10&&(b+j)%10!=(a+i)/10%10&&(b+j)%10!=(c+e)/10%10)

if((c+e)/100!=(b+j)%10&&(c+e)/100!=(a+i)%10&&(c+e)/100!=(b+j)/10%10&&(c+e)/100!=(a+i)/10%10)

if((c+e)/10%10!=(b+j)%10&&(c+e)/10%10!=(a+i)%10&&(c+e)/10%10!=(b+j)/10%10&&(c+e)/10%10!=(a+i)/10%10)

if((c+e)%10!=(b+j)%10&&(c+e)%10!=(a+i)%10&&(c+e)%10!=(b+j)/10%10&&(c+e)%10!=(a+i)/10%10)

if((c+e)/10%10!=0)

cout<<a+i<<' '<<b+j<<' '<<c+e<<endl;

return 0;

}

題目:洛谷,三連擊

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 在C語(yǔ)言中,五種基本數(shù)據(jù)類型存儲(chǔ)空間長(zhǎng)度的排列順序是: A)char B)char=int<=float C)ch...
    夏天再來閱讀 3,993評(píng)論 0 2
  • "use strict";function _classCallCheck(e,t){if(!(e instanc...
    久些閱讀 2,132評(píng)論 0 2
  • var navigator = navigator || {};var window = window || {}...
    DF_Sky閱讀 1,503評(píng)論 0 0
  • Lua 5.1 參考手冊(cè) by Roberto Ierusalimschy, Luiz Henrique de F...
    蘇黎九歌閱讀 14,235評(píng)論 0 38
  • 讀者在后臺(tái)留言,說自己是一個(gè)全職媽媽,孩子從生下來就是自己一個(gè)人帶,今年六歲,讀大班,自己最近正準(zhǔn)備和孩子爸離婚。...
    那一日閱讀 324評(píng)論 0 0

友情鏈接更多精彩內(nèi)容