第四章单元测试
  1. 在一个具有n个单元的顺序栈中,假定以地址低端(即0单元)作为栈底,以top作为栈顶指针,当做出栈处理时,top 变化为( )。

  2. A:top=0
    B:top 不变
    C:top--
    D:top++

    答案:top--

  3. 栈的插入和删除操作在( ) 进行。

  4. A:指定位置
    B:任意位置
    C:栈顶
    D:栈底
  5. 用单链表表示的链式队列的队头在链表的( ) 位置。


  6. A:链尾
    B:链中
    C:都不是
    D:链头
  7. 输入序列为ABC,可以变为CBA时,经过的栈操作为( )

  8. A:push,push,push,pop,pop.pop
    B:push,pop.push,push,pop.pop
    C:push,pop.push,pop,push,pop
    D:push,push,pop.pop,push.pop
  9. 若栈s1中保存整数,栈s2中保存运算符,函數F( ) 依次执行下述各步操作:
    1)从s1中依次弹出两个操作数a和b. 2)从s2中弹出一个运算符op.
    3)执行相应的运算b op a. 4)将运算结果压入s1中。
    假定s1中的操作数依次是5, 8,3,2 (2在栈顶), s2中的运算符依次是*、-. + (+在栈顶)。调用3次F( )后,s1栈顶保存的值是( )。

  10. A:20
    B:-20
    C:-15
    D:15
  11. 若一个栈的输入序列是1,2..,n, 输出序列的第一个元素是n,则第i个输出元素是( )。

  12. A:n-i- 1
    B:不确定
    C:n-i
    D:n-i+ 1
  13. 某栈的输入序列为a,b,c,d, 下面的4个序列中,不可能为其输出序列的是( )。

  14. A:a,c,b,d
    B:d,c,a,b
    C:a,b,c,d
    D:c,b,d,a
  15. 元素a, b,c,d,e依次进入初始为空的栈中,若元素进栈后可停留、可出栈,直到所有元素都出栈,则在所有可能的出栈序列中,以元素d开头的序列个数是( )。

  16. A:4
    B:6
    C:5
    D:3
  17. 向一个栈顶指针为hs的链栈中插入一个s结点时,应执行( )。

  18. A:s- >next=hs; hs=hs- >next;
    B:hs->next=s;
    C:s->next=hs; hs=s;
    D:s->next=hs->next ;hs- ->next=s;
  19. 消除递归不一定需要使用栈,此说法( )

  20. A:对 B:错
  21. 栈是实现过程和函数等子程序所必需的一种数据结构。( )

  22. A:对 B:错
  23. 若输入序列为1,2,3,4,5,6,则通过一个栈可以输出序列3,2,5,6,4,1. ( )

  24. A:错 B:对
  25. 在一个具有n个单元的顺序栈中,假定以地址低端(即0单元)作为栈底,以top作为栈顶位置,当做出栈处理时,top 变化为top++。( )

  26. A:对 B:错
  27. 链式栈与顺序栈相比,一个明显的优点是通常不会出现栈满的情况。( )

  28. A:错 B:对

温馨提示支付 ¥3.00 元后可查看付费内容,请先翻页预览!
点赞(3) dxwkbang
返回
顶部