1、若一个栈的输入顺序是1,2,…,n,输出序列的第一个元素是n,则第i(1≤i≤n)个输出元素是( )
正确答案: D 你的答案: D (正确)
A、n-i B、n-i-1 C、i+1 D、n-i+1
解析:第1个元素:n
第2个元素:n - 1
第3个元素:n - 2
第4个元素:n - 3
第i个元素:n - i + 1
2、往一个栈顺序push下列元素:ABCDE,其pop可能的顺序,下列不正确的是()
正确答案: C 你的答案: C (正确)
A: BACDE B: ACDBE C: AEBCD D: AEDCB
解析:A选项:A、B进栈,B、A出栈,C进栈后C出栈,D进栈后出栈,E进栈后出栈。
B选项:A进栈后出栈,B、C进栈,C出栈,D进栈,D出栈,B进栈,E进栈后出栈。
C选项:A进栈后出栈,B、C、D、E进栈,E出栈,之后B不可能出栈,所以错误。
D选项:A进栈后出栈,BCDE进栈后,EDCB出栈
3、假设 A 类有如下定义,设 a 是 A 类的一个实例,下列语句调用哪个是错误的?( )
class A{
static int i;
String s;
static void method1() { }
void method2() { }
}
正确答案: D 你的答案: D (正确)
A、System.out.println(a.i); B、a.method1(); C、A.method1(); D、A.method2()
解析:static修饰的变量为静态变量;static修饰的方法为静态方法;静态变量和静态方法均在类加载过程中就赋值或初始化,所以其不受类实例化的限制,可直接通过类名.方法名/属性名调用。static实际上也称为类属性(非类的属性),所有类属性都可直接利用类名称直接调用。
4、在C语言中,设有数组定义:char arrays[]="China";则数组array所占用的空间为()。
正确答案: C 你的答案: D (错误)
A、4个字节 B、5个字节 C、6个字节 D、7个字节
解析:若字符数组,按字符串形式存储时,实际存储形式为:char arrays[]={'C','h','i','n','a','\0'};所以为六个字节
5、若一序列进栈顺序为e1,e2,e3,e4,e5,问存在多少种可能的出栈序列()
正确答案: B 你的答案: C (错误)
A、41 B、42 C、43 D、44
解析:先给出算所有出栈可能的个数的公式,由卡特兰数可以得到n = (2n!)/(n! * (n+1)!)