2 回答

TA貢獻(xiàn)1813條經(jīng)驗(yàn) 獲得超2個(gè)贊
s!=0是確定棧非空
再執(zhí)行以下程序
不然空的也執(zhí)行,不是浪費(fèi)資源嗎?而且也會(huì)最后出錯(cuò)。
是程序開始的斷點(diǎn).必須要有!
while(!isEmpty)是輸出循環(huán)判定條件
意在循環(huán)
目的就是把棧中元素全部輸出,一直做出棧運(yùn)算
直到棧空
是動(dòng)態(tài)循環(huán)的
缺失此循環(huán)條件,只輸出當(dāng)前的棧頂元素,程序結(jié)束。
是靜態(tài)的

TA貢獻(xiàn)2016條經(jīng)驗(yàn) 獲得超9個(gè)贊
while(!isEmpty())
cout<<Pop();
cout<<endl;
這三句語(yǔ)句相當(dāng)于
while(!isEmpty())
{
cout<<Pop();
cout<<endl;
}
C++中的Pop()函數(shù)和Push()一樣,一次進(jìn)棧只能進(jìn)一個(gè),一次出棧也只能出一個(gè)數(shù)。所以必須要循環(huán)輸出
至于循環(huán)條件為什么要用IsEmpty(),是因?yàn)槿绻麠V械臄?shù)據(jù)全部取出來(lái)的話,編譯器會(huì)自動(dòng)生成標(biāo)識(shí),標(biāo)記棧為空,IsEmpty()得到的就是0,就跳出循環(huán)了
- 2 回答
- 0 關(guān)注
- 387 瀏覽
添加回答
舉報(bào)