完成下列算法填空 将两个有序递增的带表头结点的单链表合并为一个有序递增的单链表。 链表结点Nod
已帮助 人
完成下列算法填空,将两个有序递增的带表头结点的单链表合并为一个有序递增的单链表。 链表结点Node和链表SingleList结构体定义如下: typedef struct node { ElemType element; struct node *link; }Node; typedef struct headerlist { Node *head; int n; }HeaderList; void MergeList1(HeaderList *La,HeaderList *Lb,HeaderList *Lc) { //合并链表La和Lb,合并后的新表使用头指针Lc指向 Node *pa,*pb,*pc,*q; pa=La->head->link; pb=Lb->head->link; pc=Lc->head; while(pa && pb) { if(____________________) { pc->link=pa; pc=pa

回答
共1条回复-
此题的关键点在于:为保证新表和原来一样递增有序,可以利用后插法建立单链表。算法思想的图示和伪代码如下图所示。
