nbsp; (2)说明语句组S2的功能;
(3)设链表表示的线性表为(a1,a2, …,an),写出算法执行后的返回值所表示的线性表。
32.假设两个队列共享一个循环向量空间(参见右下图),
其类型Queue2定义如下:
typedef struct{
DateType data[MaxSize];
int front[2],rear[2];
}Queue2;
对于i=0或1,front[i]和rear[i]分别为第i个队列的头指针和尾指针。请对以下算法填空,实现第i个队列的入队操作。
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[ ① ]return0;
Q->data[ ② ]=x;
Q->rear[i]=[ ③ ];
return1;
}
①
②
③
33.已知二叉树的存储结构为二叉链表,阅读下面算法。
typedef struct node {
DateType data;
Struct node * next;
}ListNode;
typedef ListNode * LinkList ;
LinkList Leafhead=NULL;
Void Inorder (BinTree T)
{
LinkList s;
If(T){
Inorder(T->lchild);
If ((!T->lchild)&&(!T->rchild)){
s=(ListNode*)malloc(sizeof(ListNode));
s->data=T->data;
s->next=Leafhead;
Leafhead=s;
}
Inorder(T->rchild);
&nbs