c语言如何实现两链表合并
不要网上copy的,不用很复杂,越简单越好,叩谢!设X=(x1,x2,…,xn)和Y=(y1,y2,…,ym)为两个单链表,试写出将X和Y归并为一个单链表Z的算法,使得:...
不要网上copy的,不用很复杂,越简单越好,叩谢!
设X= (x 1 ,x 2 ,…,x n ) 和Y= (y 1 ,y 2 ,…,y m ) 为两个单链表,试
写出将X 和Y 归并 为一个单链表Z 的算法,使得:
┏ (x 1 ,y 1 ,x 2 ,y 2 ,…,x m ,y m ,x m+1 ,…,x n ) 当m<=n
Z= ┃
┗ (x 1 ,y 1 ,x 2 ,y 2 ,…,x n ,y n ,y n+1 ,…,y m ) 当m>n
这道题谁能答了追五十分! 展开
设X= (x 1 ,x 2 ,…,x n ) 和Y= (y 1 ,y 2 ,…,y m ) 为两个单链表,试
写出将X 和Y 归并 为一个单链表Z 的算法,使得:
┏ (x 1 ,y 1 ,x 2 ,y 2 ,…,x m ,y m ,x m+1 ,…,x n ) 当m<=n
Z= ┃
┗ (x 1 ,y 1 ,x 2 ,y 2 ,…,x n ,y n ,y n+1 ,…,y m ) 当m>n
这道题谁能答了追五十分! 展开
1个回答
展开全部
只要让第一个链表的尾部元素 的 next 指针,指向第二个链表的第一个元素就可以了
如果是双向链表,则除上面操作外,再让第二个链表的 prev指针指向第一个链表最后一个元素
如果是双向链表,则除上面操作外,再让第二个链表的 prev指针指向第一个链表最后一个元素
更多追问追答
追问
有代码吗,不知道该怎么构建啊
追答
#include<stdio.h>
struct tagS{ tabS * next;}S;
int main()
{
S* first;
S* second;
//.........//其它对链表first 和 second 的操作
S*p = first;
while(p->next) p = p->next; //使p定位到链表1的最后一个元素;
p->next = second; ///完成两个链表的合并。
// ……其它操作
return 0;
};
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询