单选题
设有一个空栈,栈顶指针为1000H(十六进制,下同),现有输入序列为1,2,3,4,5,经过PUSH, PUSH,POP,PUSH,POP,PUSH,PUSH后,输出序列是 (27) ,栈顶指针是 (28) 。设一数列的顺序为1,2,3,4,5,6,通过栈结构可以排成的顺序数列为 (29) , (30) , (31) 。
【正确答案】
D
【答案解析】[解析] 输入数列1,2,3,4,5,1)PUSH,栈顶序列1001H,栈内元素1; 2)PUSH,栈顶序列1002H,栈内元素2,1;3)POP,栈顶序列1001H,栈内元素1,弹出元素2;4)PUSH,栈顶序列1002H,栈内元素3,1;5)POP,栈顶序列1001H,栈内元素1,弹出元素3;6)PUSH,栈顶序列1002H,栈内元素4,1;7)PUSH,栈顶序列1003H,栈内元素5,4,1;。所以输出序列是2,3,栈顶指针是1003H。 数列的顺序是1,2,3,4,5,6,根据不同的PUSH, POP的排列可以得到不同的顺序数列,有B,C,D三个序列。