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;}
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;}
举一反三
- 【简答题】简述以下算法的功能(栈和队列的元素类型均为int)。 void algo3(Queue &Q){ Stack S; int d; InitStack(S); while(!QueueEmpty(Q)) { DeQueue(Q, d); Push(S, d); } while(!StackEmpty(S)) { Pop(S, d); EnQueue(Q, d); } }
- 构造下列推理的证明。 (1)前提:¬P∨Q, ¬(Q∧R),R;结论:¬P。 (2)前提:(P→Q)→(Q→R),R→P;结论:Q→P。 (3)前提:P→(Q→R), ¬S∨P;结论:Q→(S→R)。 (4)前提:¬P∧¬Q;结论:¬(P∧Q)。 (5)前提:P→¬Q,R∨S,S→¬Q;结论:¬P
- 构造下列命题的真值表。 (1)¬(P→Q)∧Q。 (2)(P→¬Q)→¬Q。 (3)P→Q∨R。 (4)P↔¬Q。 (5)((P∨Q)→R)↔S。
- 对于如下程序:#include [stdio.h] int s(char *,char *); int main(){ char a[20]; char b[10]; char *p; char *q; int i; p=a; q=b; scanf("%s%s",a,b); i=s(a,b); printf("%d",i);} int s(char *s,char *t){ while(*s!='\0' && *t!='\0'){ if(*s= =*t){ s++; t++; } else return *s-*t; } return *s-*t;}如果输入流是12 13,程序的输出是什么? A: -1 B: 1 C: 0 D: 2
- 下列推理形式中,有效的是 A: (p∨~q)∧p→~q B: (p→~q)∧q→~p C: (~p←q)∧q→~p D: (p∨~q)∧q→~p E: [(p→q)∧(r→s)∧(~p∨~r)]→(~q∨~s)