正在加载图片...
请回答下列问题 (1)说明语句S1的功能 (2)说明语句组S2的功能 (3)设链表表示的线性表为(a,a2,,an),写出算法执行后的返回值所表示的线性表 32.假设两个队列共享一个循环向量空间(参见右下图) 其类型 Queue2定义如下: rear[1] (DataType data [MaxSize] front[ll int front[2], rear[2] 1QU 对于i=0或1, front[i]和rear[i]分别为第 i个队列的头指针和尾指针。请对以下算法填 空,实现第i个队列的入队操作 front[o] int InQueue(Queue2 *Q, int i, DataType x) W/若第i个队列不满。则元素x入队列, //并返回1:否则返回0 rear if(i<0‖i>1) return0 if( Q >rear[i]==Q->front Ireturn 0: Q->datal Q->rear[i] 33.已知二叉树的存储结构为二叉链表,阅读下面算法 typedef struct node [DataType data struct node * next typedef ListNode Linklist: Linklist Leafhead=NULL id Inorder(BinTree T ILink (Inorder(T->lchild if((! T->child)&&(T->rchild)) Is=(ListNode*)malloc(sizeof (ListNode)) s>data=t->dat s>next=Leafhead Leafhead=s Inorder(T->rchild) 对于如下所示的二叉树请回答下列问题: (1) 说明语句 S1 的功能; (2) 说明语句组 S2 的功能; (3) 设链表表示的线性表为(a1, a2,…, an),写出算法执行后的返回值所表示的线性表。 32. 假设两个队列共享一个循环向量空间(参见右下图) 其类型 Queue2 定义如下: typedef struct {DataType data[MaxSize]; int front[2],rear[2]; }Queue2; 对于 i=0 或 1,front[i]和 rear[i]分别为第 i 个队列的头指针和尾指针。请对以下算法填 空,实现第 i 个队列的入队操作。 int InQueue(Queue2 *Q,int i,DataType x) {//若第 i 个队列不满。则元素 x 入队列, //并返回 1;否则返回 0 if(i<0 || i>1) return 0; if(Q.>rear[i]==Q->front[ ① ]return 0; Q->data[ ② ]=x; Q->rear[i]= ③ ; return 1; } 33. 已知二叉树的存储结构为二叉链表,阅读下面算法。 typedef struct node {DataType 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); } } 对于如下所示的二叉树 rear[0] …… …… rear[1]] front[1] ] front[0] ]
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有