题目
将序列1,2,…,n存入栈,出栈的第一个元素为n,则第i个出栈的元素为()A. n-i-1B. n-iC. n-i+1D. 不确定
将序列1,2,…,n存入栈,出栈的第一个元素为n,则第i个出栈的元素为()
A. n-i-1
B. n-i
C. n-i+1
D. 不确定
题目解答
答案
C. n-i+1
解析
考查要点:本题主要考查栈的先进后出(FILO)特性,以及元素入栈和出栈顺序的关系。
解题核心思路:
当序列1, 2, ..., n依次入栈后,所有元素必须全部入栈后再开始出栈。此时,出栈顺序是原序列的逆序,即n, n-1, ..., 1。因此,第i个出栈的元素对应原序列中的第n - i + 1个元素。
破题关键点:
- 明确题目中“存入栈”后直接连续出栈,不存在中途混合操作。
- 利用栈的特性推导出栈顺序为严格逆序。
假设序列1, 2, ..., n依次入栈,所有元素入栈后,栈顶元素为n,栈底元素为1。此时开始连续出栈:
- 第一个出栈元素:栈顶元素
n。 - 第二个出栈元素:次栈顶元素
n-1。 - 依此类推,第
i个出栈元素为原序列中的第n - i + 1个元素。
举例验证:
- 当
n = 3时,出栈顺序为3, 2, 1。第2个出栈元素为2,对应3 - 2 + 1 = 2。 - 当
n = 5时,第3个出栈元素为3,对应5 - 3 + 1 = 3。
结论:第i个出栈元素为n - i + 1,对应选项C。