第三章测试
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 元后可查看付费内容,请先翻页预览!
点赞(171) dxwkbang
返回
顶部