六.下面一段程序輸出什么?
void main(void)
{ Stack S; Queue Q; Pqueue PQ; char ch;
char sentence[]=”StackQueue”;
for(int i=0;i<strlen(sentence);i++)
PQ.PQInsert(sentence[i]);
while(!PQ.PQEmpty())
{ ch = PQ.PQDelete();
while(!S.StackEmpty())
{ ch = S.pop(); cout<<ch; }
cout<<endl;
while(!Q.Qempty())
{ ch = Q.Qdelete();cout<<ch; }
cout<<endl; }
if ( isupper(ch) S.Push(ch);
else Q.Qinsert(ch); }
七.(1)用preorder遍歷一棵Binary Search Tree得到序列 20 15 10 17 16 18 25 22 21 24 35給出這棵樹,并給出postorder遍歷.
(2) 說明函數(shù)F的作用
void InorderAssign(TreeNode<int>*t,Array<int>& A,int& i)
{
if(t!=NULL)
{
InoderAssign(t->Right(),A,i);
A[i++]=t->data;
InorderAssign(t->Left();A,i);
}
}
Void F(Array<int>& A)
{
BinSTree<int> tree;
for(int i=0;i<A.ListSize();i++)
tree.Insert(A[i]);
i=0;
InorderAssign(tree.GetRoot(),A,i);
}
八. 說明函數(shù)pat的功能
int pat(char str[],int i)
{ int m=strlen(str)/2;
if(i>=m)return 1;
else if (str[i] !=str[m+i])return 0;
else return pat(str,i+1); }
字符串A 取
(a)“powwow” (b) “sees” (c) “123123”
(d) “123321”
分別給出 函數(shù)pat(A,0)的值.