已知程序如下int S(int n){return(nS(1)->S(0) B:S(0)->S(1)->main() C:main()->S(0)->S(1) D:S(1)->S(0)->main( 点我阅读全文
循环队列放在一维数组A[0…M-1]中,endl指向队头元素,end2指向队尾的后一个位置。假设队列两端均可进行入队和出队操作,队列中最多能容纳M1个元素。初始时为空。下列判断队空和队满的条件中,正确的是()A:队空:endl==end2; 点我阅读全文
已知循环队列存储在一维数组A[0…n-1]中,且队列非空时font和rear分别指向队头元素和队尾元素。若初始时队列为空,且要求第1个进入队列的元素存储在A[O]处,则初始时 front和rear的值分别是()A:0,0 B:0,n-1 C 点我阅读全文
操作符包括‘+’‘-’‘*’‘/’和‘(‘,‘)’。将中缀表达式a+b-a*((c+d)/e-f)+g转换为等价的后级表达式ab+acd+e/f-*-g+时,用栈来存放暂时还不能确定运算次序的操作符,若栈初始时为空,则转换过程中同时保存在栈 点我阅读全文
假设栈初始为空,将中缀表达式a/b+(c*d-e*f)/g转换为等价的后缀表达式的过程中,当扫描到f时,栈中的元素依次是()A:+(*- B:+(-* C:/+(*-* D:/+-* 答案: +(-* 点我阅读全文
若已知一个栈的入栈序列是1,2,3,…,m,其输出序列为p,P2,p,…,pn,若p1=n,则p为()设栈S和队列Q的初始状态为空,元素e1,e2,e3,e4,e5和e6依次进入栈S,一个元素出后即进入Q,若6个元素出队的序列是e2,e4, 点我阅读全文
若让元素1,2,3,4,5依次进栈,则出栈次序不可能出现在()种情况。 为解决计算机主机与打印机间速度不匹配问题,通常设一个打印数据缓冲区。主机将要输出的数据依次写入该缓冲区,而打印机则依次从该缓冲区中取出数据。该缓冲区的逻辑结构应该是() 点我阅读全文
循环队列存储在数组A[0,…,m]中,则人队时的操作为()A:rear=rear+1 B:rear=(rear+1)%(m-1) C:rear(rear+1)%m D:rear(rear+1)%(m+1) 答案: rear(rear+1)% 点我阅读全文
设栈S和队列Q的初始状态均为空,元素a,b,c,d,e,f,g依次进入栈S。若每个元素出栈后立即进入队列Q,且7个元素出队的顺序是b,d,c,f,e,a,g,则栈S的容量至少是()A:1 B:2 C:3 D:4 答案: 3 点我阅读全文