1、该缓冲区的逻辑结构应该是5链栈与顺序栈相比,比较明显的优点是 A插入操作更加方便 B删除操作更加方便 C不会出现下溢的情况 D不会出现上溢的情况6导致栈上溢的操作是 A栈满时执行的出栈 B栈满时执行的入栈 C栈空时执行的出栈 D栈空时执行的入栈7若以S和X分别表示进栈和退栈操作,则对初始状态为空的栈可以进行的栈操作系列是 ASXSSXXXX BSXXSXSSX CSXSXXSSX DSSSXXSXX 8一个栈的输入序列为1、2、3、n,若输出序列的第一个元素是n,输出的第i(1=idata=x;_;_;14区分循环队列的满与空,通常有两种方法,它们是_和_。15用下标从0开始的一维数组An实现
2、循环队列时,为保证下标变量m加1后在数组有效下标范围内循环,可采用的表达式是m= _。16循环队列用数组A0.m-1存放其元素值,已知其头尾指针分别是front和rear ,则当前队列的元素个数是_。17设循环队列的数据元素存放在一维数组data0.M中,队头指针为front,队尾指针为rear,若用牺牲一个单元的办法来区分队满和队空,则队空的条件为_,对满的条件为_。18在循环队列中,存储空间为A0n-1,设队头指针front指向队头元素前一个空闲元素,队尾指针rear指向队尾元素,那么队空标志为_,队满标志为_。19使用一个100个元素的数组存储循环队列,如果采取少用一个元素空间的方法来区
3、别循环队列的队空和队满,约定队头指针front等于队尾指针rear时表示队空。若为front=8,rear=7,则队列中的元素个数为_。20设Q是一个具有11个元素存储空间的循环队列(队尾指针rear指向队尾元素的下一个位置,队头指针front指向队头元素),初始状态Q.front=Q.rear=0;写出依次执行下列操作后头、尾指针的当前值。(1)a、b、c、d、e、f入队,a、b、c、d出队后,Q.front=_,Q.rear=_。(2)g、h、i、j、k、l入队,e、f、g、h出队后,Q.front=_,Q.rear=_。(3)m、n、o、p入队,i、j、k、l、m出队后,Q.front=
4、_,Q.rear=_。三、解答题1设有编号为1、2、3、4的四辆列车,顺序进入一个栈式结构的车站,写出这四辆列车开出车站的所有可能的顺序。2假设以S和X分别表示入栈和出栈操作,则对初态和终态均为空的栈操作可由S和X组成的序列表示(如SXSX为合法序列,SXXS为非法序列)。(1)试指出判别给定操作序列是否合法的一般规则。(2)两个不同的输入序列(对同一输入元素集)能否得到相同的输出元素序列?如能得到,请举列说明。3设栈S1的入栈序列为1、2、3、4,则不可能得到出栈序列3、1、4、2。但可通过增设栈S2来实现。通过让入栈序列1、2、3、4依次经过栈S1和S2,可以得到序列3、1、4、2。依次经过栈S1和S2的意思是从S1出栈的元素一定要进入S2。例如,如果用H1和H2分别表示栈S1和S2的进栈操作,用P1和P2