1.假设有两个按元素值递增次序排列的线性表,均以单链表形式存储,请编写算法将这两个单链表归并为一个按元素值递减次序排列的单链表,并要求利用原来的两个单链表的结点存放归并后的单链表。 LinkedList Union(LinkedList la,lb)//la.,lb分别是带头结点的两个单链表的头指针,链表中的元素值按递增序列排列,本算法将两个链表合成一个按元素递减次序排列的单链表。 {pa=la->next;pb=lb->next;//pa,pb分别是链表la和lb的工作指针 la->next=null; //la作结果链表的头指针,先将结果链表初始化为空 while(pa!=null&&pb!=null) //当两链表均不为空时作 if (pa->data<=pb->data) { r=pa->next; //将pa的后结继结点暂存于r。 pa->next=la->next; //将pa结点链于结果表中,同时逆置 la->next=pa; pa=r; //恢复pa为当前的比较结点。 } else { r=pb->next; //将pb的后继结点暂存于r。 pb->next=la->
2022-07-11 14:05:48
8KB
文档资料