#P1874. 栈和队列训练题.1

栈和队列训练题.1

  1. 栈和队列的共同特点是 () {{ select(1) }}
  • 只允许在端点处插入和删除元素
  • 都是先进先出
  • 都是先进后出
  • 没有共同点
  1. 依次入栈,若让元素 1,2,3,4 依次入栈,则出栈次序不可能出现( ){{ select(2) }}
  • 3,2,1,4
  • 2,1,4,3
  • 1,4,2,3
  • 4,3,2,1
  1. 栈的插入和删除操作在( )进行 {{ select(3) }}
  • 栈顶
  • 栈底
  • 任意位置
  • 指定位置
  1. 用单链表表示的链式队列的队头在链表的 ( )位置。{{ select(4) }}
  • 链头
  • 链尾
  • 链中
  • 以上都不是
  1. 在双向循环链表中,在 p 所指的结点之后插入s 指针所指的结点,其操作是(){{ select(5) }}
  • p->next=s; s->prior=p; p->next->prior=s; s->next=p->next;
  • s->prior=p; s->next=p->next; p->next=s; p->next->prior=s;
  • p->next=s; p->next->prior=s; s->prior=p; s->next=p->next:
  • s->prior=p; s-next=p->next; p->next->prior=s; p->next=s;
  1. 设有一个栈,元素的进次序为 A,B,C,D,E,下列是不可能的出序列 ( ){{ select(6) }}
  • A,B,C,D,E
  • B,C,D,E,A
  • E,A,B,C,D
  • E,D,C,B,A
  1. 在一个只有 n 个单元的顺序中,假定以地址低端(即 0 单元)作为底,以 top 作为栈顶指针,当做出栈处理时, top 变化为 ( ){{ select(7) }}
  • top 不变
  • top=0
  • top--
  • top++
  1. 向一个栈顶指针为 hs 的链中插入一个 s 结点时,应执行 ( ){{ select(8) }}
  • hs->next=s;
  • s->next=hs; hs=s;
  • s->next=hs->next; hs->next=s;
  • s->next=hs; hs=hs->next;
  1. 在具有 n 个单元的顺序存储的循环队列中,假定 front, rear 分别为队头指针和队尾指针,则判断队满的条件为 ( ){{ select(9) }}
  • rear%n == front
  • (front+1)%n == rear
  • (rear-1)%n == front
  • (rear+1)%n == front
  1. 在具有 n 个单元的顺序存储的循环队列中假定 front 和 rear 分别为队头指针和队尾指针,则判断队空的条件为( ){{ select(10) }}
  • rear%n == front
  • front+1 == rear
  • rear == front
  • (rear+1)%n == front