[函数说明3.1]
假设两个队列共享一个循环向量空间(参见右图),其类型Queue2定义如下:
typedef struct
DateType data[MaxSize];
int front[2] ,rear [2];
Queue2;
对于i=0或1,front[i]和rear[i]分别为第i个队列的头指针和尾指针。函数EnQueue (Queue2*Q,int i,DateType x)的功能是实现第i个队列的入队操作。
[函数3.1]
int EnQueue (Queue2*Q,int i,DateType x)
//若第i个队列不满,则元素x入队列,并返回1; 否则返回0。
if (i<0 || i>1) return 0:
if (Q->rear [i] ==Q->front[ (1) ])
return 0:
Q->data[ (2) ]=x;
Q->rear[i]=[ (3) ];
return 1:
[函数说明3.2]
函数BTreeEqual(BinTreeNode *T1,BinTreeNode *T2)的功能是用递归法判断两棵二叉树是否相等,若相等则返回1,否则返回0。函数中参数T1和T2分别为指向这两棵二叉树根结点的指针。当两棵树的结构完全相同并且对应结点的值也相同时才被认为相等。
已知二叉树中的结点类型BinTreeNode定义为:
struct BinTreeNode
char data;
BinTreeNode *left, *right;
;
其中data为结点值域,left和right分别为指向左、右子女结点的指针域。
[函数3.2]
int BTreeEqual(BinTreeNode* T1,BinTreeNode* T2)
if (T1==NULL && T2==NULL) return 1; //若两棵树均为空则相等
else if( (4) )return 0; //若一棵为空一棵不为空则不等
else if( (5) )return 1; //若根结点值相等并且左、右子树
//也相等则两棵树相等,否则不等
else return 0:
(2)处填()