2026安徽農(nóng)商行校園招聘計算機(jī)練習(xí)題(12)
下列關(guān)于棧的敘述中,錯誤的是()。
I.采用非遞歸方式重寫遞歸程序時必須使用棧
?、?函數(shù)調(diào)用時,系統(tǒng)要用棧保存必要的信息
?、?只要確定了入棧次序,就可確定出棧次序
IV.棧是一種受限的線性表,允許在其兩端進(jìn)行操作
A.僅I
B.僅I、Ⅱ、Ⅲ
C.僅I、Ⅲ、IV
D.僅Ⅱ、Ⅲ、IV
【解析】C
I錯誤:用非遞歸方式重寫遞歸程序時不一定需要使用棧,例如,計算n!,非遞歸程序只需用一個簡單的循環(huán)即可計算,無需使用棧。
II正確:當(dāng)一個函數(shù)被調(diào)用時,系統(tǒng)需要保存當(dāng)前函數(shù)的執(zhí)行狀態(tài)(也稱為上下文),以便在函數(shù)調(diào)用結(jié)束后能夠恢復(fù)并繼續(xù)執(zhí)行。這些信息通常包括:返回地址,函數(shù)的局部變量,傳遞給函數(shù)的參數(shù),寄存器的狀態(tài)。
III錯誤:元素的出棧順序不僅取決于入棧順序,還取決于具體的出棧操作。如果所有元素都按順序入棧后再出棧,那么出棧順序就是入棧順序的逆序;但是,如果在入棧過程中有元素出棧,那么出棧順序就不再是簡單的逆序。例如,對入棧序列a、b、c,如果所有元素都入棧后再出棧,那么出棧順序是c、b、a;如果a入棧后立即出棧,然后b和c入棧后再出棧,那么出棧順序是a、c、b;如果A和B入棧后,B出棧,然后C入棧后再出棧,那么出棧順序是b、c、a。
IV錯誤:棧是一種受限的線性表,只允許在一端進(jìn)行操作。
來源:網(wǎng)絡(luò)整理
(責(zé)任編輯:liutingting)