数据结构问题,电脑编程高手进!假设有两个按数据元素值递增有序排列
假设有两个按数据元素值递增有序排列的线性表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 回复 回复全部 按附件按正文 转发 删除 永久删除 前一封 后一封