第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

以下是關(guān)于C++棧的問題 while(!isEmpty) cout<<pop()

以下是關(guān)于C++棧的問題 while(!isEmpty) cout<<pop()

C C++
慕桂英546537 2022-01-15 15:11:59
題目是要實(shí)現(xiàn)進(jìn)制轉(zhuǎn)換,各函數(shù)已定義template<class type>void DSeqStack<type>::convertion(){int s,n;cout<<"輸入一個(gè)需要轉(zhuǎn)換的數(shù)據(jù):"<<endl;cin>>s;cout<<"輸入一個(gè)需要轉(zhuǎn)換成的進(jìn)制:"<<endl;cin>>n;while(s!=0){Push(s%n);s=s/n;}cout<<"數(shù)據(jù)轉(zhuǎn)換成"<<n<<"進(jìn)制后為:"<<endl;while(!isEmpty())cout<<Pop();cout<<endl;/*cout<<"數(shù)據(jù)轉(zhuǎn)換成"<<n<<"進(jìn)制后為:"<<Pop()<<endl;*/}void main(){DSeqStack<int> stack(10);stack.convertion();}已經(jīng)限定s!=0了,棧就一定不為空,為什么還需要while(!isEmpty),而且去掉while(!isEmpty)就只輸出一個(gè)數(shù)了
查看完整描述

2 回答

?
慕姐8265434

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)的

查看完整回答
反對(duì) 回復(fù) 2022-01-17
?
慕沐林林

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)了



查看完整回答
反對(duì) 回復(fù) 2022-01-17
  • 2 回答
  • 0 關(guān)注
  • 387 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)