第三章测试1.
若以S和X分别表示进栈和退栈操作,则对初始状态为空的栈可以进行的栈操作系列合法的是( );
A:SXSSXXXX B: SXXSXSSX C: SSSXXSXX D:SXSXXSSX
答案:C
2.
设计一个迷宫求解的算法,采用___________数据结构最佳。
A:线性表的顺序存储结构 B:栈 C:线性表的链式存储结构 D:队列 3.
循环队列存储在数组A[0..m-1],则出队时的操作为( )
A:front=(front mod m)+1 B:front=(front+1)mod m C:front=front+1 D:front=(front+1)mod (m-1) 4.
1.试写一个算法,识别依次读入的一个以@为结束符的字符序列是否为形如‘序列1&序列2’模式的字符序列。其中序列1和序列2中都不含字符‘&’,且序列2是序列1的逆序列。例如,‘a+b&b+a’是属该模式的字符序列,而‘1+3&3-1’则不是。
BOOLSymmetry(char a[])
{
int i=0;
Stack s;
InitStack(s);
ElemType x;
while(a[i]!='&' && a[i]){
_________
i++;
}
if(!a[i]) return FALSE;
i++;
while(a[i]){
Pop(s,x);
if(x!=a[i]){
DestroyStack(s);
return FALSE;
}
i++;
}
return TRUE;
}A:Pop(s,a[i]) B:Push(s,a[i]) C:Pop(s,a[i++]) D:Push(s,a[i++]) 5.
Status SymmetryString(char* p){ Queue q; if(!InitQueue(q)) return 0; Stack s; InitStack(s); ElemType e1,e2; while(*p){ Push(s,*p); EnQueue(q,*p); p++; } while(!StackEmpty(s)){ ( ) DeQueue(q,e2); if(e1!=e2) return FALSE; } return OK;}
A:EnQueue(q,*p) B:Pop(s,e1); C:Push(s,*p); D:P--P--P--P--P--P--P--P--
温馨提示支付 ¥3.00 元后可查看付费内容,请先翻页预览!