栈、队列例题

1、若用一个大小为6的数组实现循环队列,队头指针front指向队首元素,队尾指针rear指向队尾元素的后一个位置。若当前rear和front的值分别为0和3,出队1个元素,入队2个元素,rear和front的值分别为:____  (A)

A. 1,5  B. 2,4  C. 4,2  D. 5,1

分析:

2、5个元素A、B、C、D、E顺序入栈,第一个出栈的元素为C,第二个出栈元素为D的出栈序列有____个  (A

A. 1  B. 2  C. 3  D. 4

分析:A进B进C进C出D进D出

3、设中缀表达式 12+(25-5*4)2/5,求:

(1)计算中缀表达式时,操作数栈的变化过程;

(2)给出后缀表达式。

4、后缀表达式:abc-/dc*+

(1)当a=6,b=4,c=2,d=3时,表达式的值为多少;

(2)后缀表达式求值过程中,需用到一个栈,给出栈的变化过程。

5、阅读下列程序,要求完成下列工作:(1)描述算法功能;(2)当输入序列为:8,4,2,0时,给出输出内容;(3)将它改为非递归过程。

void test(int &sum)
{
    int x;
    cin>>x;
    if(x == 0)    sum=0;
    else{
        test(sum);
        sum += x;
        }
    cout<<sum;
}

猜你喜欢

转载自www.cnblogs.com/yg1024/p/9696175.html