1.一个栈的输入序列为54321,则下列序列中不可能是栈的输出序列的是(C)
A.5 4 1 2 3 B.2 3 4 1 5
C.1 5 4 2 3 D.2 3 1 4 5
解答:
栈是后进先出。
栈的限制是仅允许在表的一端进行插入和删除运算,为栈顶,向一个栈插入新元素,称为入栈,把新元素放到栈顶元素的上面,从一个栈删除元素,又称作退栈,是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。
所以:
A答案可以是入栈5,出栈5,入栈4,出栈4,入栈3,2,1,出栈1,2,3
B答案可以是入栈5,4,3,2,出栈2,3,4,入栈1,出栈1,5
D答案可以是入栈5,4,3,2,出栈2,3,入栈1,出栈1,4,5
2.如下集合哪些集合是线程安全的?(B)
A. HashMap B. HashTable
C. HashSet D. TreeSet
3.设x为int型变量,则执行一下语句段后,x的值为(B)
x=10;
x+=x-=x-x++;
A.30 B.20 C.40 D.10
解答:从右向左执行;
x-x++等价于x-x结果为0;
x-=0;等价于x=x+0;结果为10;
x+=10;等价于x=x+10;结果为20;