19.設棧的存儲空間為S(1:m),初始狀态為top=m+1。經過一系列入棧與退棧操作後,top=1。現又要将一個元素進棧,棧頂指針top值變為
A)0 B)發生棧滿的錯誤
C)m D)2
20.設棧的存儲空間為S(1:m),初始狀态為top=m+1。經過一系列入棧與退棧操作後,top=m。現又在棧中退出一個元素後,棧頂指針top值為
A)0 B)m-1
C)m+1 D)産生棧空錯誤
21.設有棧S和隊列Q,初始狀态均為空。首先依次将A,B,C,D,E,F入棧,然後從棧中退出三個元素依次入隊,再将X,Y,Z入棧後,将棧中所有元素退出并依次入隊,最後将隊列中所有元素退出,則退隊元素的順序為
A)DEFXYZABC
B)FEDZYXCBA\
C)FEDXYZCBA
D)DEFZYXABC
答案
19.
B【解析】棧的初始狀态為top=m+1,說明棧空時top=m+1,入棧時棧頂指針是減操作(top=top-1),退棧時棧頂指針是加操作(top=top+1)。棧滿時top=1,說明棧中不能再進行入棧操作(“上溢”錯誤)。
20.
C【解析】棧的順序存儲空間為S(1: m),初始狀态top=m+1,是以這個棧是m在棧底,1是開口向上的。經過一系列入棧與退棧操作後top=m,則棧中有1個元素,若現在又退出一個元素,那麼棧頂指針下移一位,回到m+1的位置。