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