1474: 算法基础(栈与队列)

Memory Limit:128 MB Time Limit:1.000 S
Judge Style:Text Compare Creator:
Submit:71 Solved:16

Description

1、设abcdef 以所给的次序进栈,若在进栈操作时,允许退栈操作,则下面得不到的序列为(  ) 。 A.fedcba     B. bcafed     C. dcefba     D. cabdef

2、若用一个大小为 6的数组来实现循环队列,且当前 rear和 front 的值分别为 0和 3,当从队列中删除一个元素,再加入两个元素后,rear 和 front 的值分别为多少?(  )
A. 1 和 5     B. 2 和4     C. 4 和2     D. 5 和1

3、最大容量为 n 的循环队列,队尾指针是 rear,队头是 front,则队空的条件是 (   ) 。
A. (rear+1) MOD n=front     B. rear=front    C.rear+1=front     D. (rear-l) MOD n=front

4、栈和队列的共同点是(    ) 。
A. 都是先进先出     B. 都是先进后出    C. 只允许在端点处插入和删除元素     D. 没有共同点

5、设栈S和队列 Q 的初始状态为空,元素 e1,e2,e3,e4,e5 和e6 依次通过栈 S,一个元素出栈后即进队列 Q,若 6 个元素出队的序列是 e2,e4,e3, e6, e5, e1。 则栈 S 的容量至少应该是(    )。
A.6     B. 4     C. 3     D. 2  


6、元素R1、R2、R3、R4、R5入栈的顺序为R1、R2、R3、R4、R5。如果第1个出栈的是R3,那么第5个出栈的不可能是(   )。

A. R1              B. R2              C. R4              D. R5




Sample Input Copy

#include<bits/stdc++.h>
using namespace std;
int main()
{   
     int n=0;    
    cin>>n;
    switch(n)
    {
        case 1: cout<<"A"<<endl; break;
        case 2: cout<<"B"<<endl; break;
        case 3: cout<<"C"<<endl; break;
        case 4: cout<<"A"<<endl; break;
        case 5: cout<<"C"<<endl; break;
        case 6: cout<<"A"<<endl; break;
    }   
    return 0;         
}

Sample Output Copy