假设有两个按数据元素值递增有序排列的线性表A和B,均以单链表作为存储结构。编写算法将A表和B表归并成一个按元素值递减有序(即非递增有序,允许值相同)排列的线性表C,并要求利用原表(及A表和B表)结点空间存放表C 最好能有程序代码C语言,或者C++同学让帮忙做的,但是我们还没有学到这里来,高手们愿意试试就帮我做出来,不需要非得要按那个要求做,能够按要求做更好,谢谢各位了!!!!!!!!!!

热心网友

昨天晚上咨询了一个哥们,今天凌晨上网收到他发来的邮件,贴出来给你作参考回复 回复全部 按附件按正文 转发 删除 永久删除 前一封 后一封 按从小到大的顺序依次把A和B的元素插入新表的头部pc处,最后处理A或B的剩余元素。 void reverse_merge(LinkList &A,LinkList &B,LinkList &C{pa=A-next;pb=B-next;pre=NULL; //pa和pb分别指向A,B的当前元素while(pa||pb){ if(pa-datadata||!pb) { pc=pa;q=pa-next; pa-next=pre; pa=q; //将A的元素插入新表 } else { pc=pb; q=pb-next; pb-next=pre; pb=q; //将B的元素插入新表 } pre=pc;}C=A;A-next=pc; //构造新表头}//reverse_merge 回复 回复全部 按附件按正文 转发 删除 永久删除 前一封 后一封 。