数据结构单链表的合并 |
您所在的位置:网站首页 › python里两个链表的合并 › 数据结构单链表的合并 |
问题:将两个单链表合并 思路:首先用尾插法建立两个链表LA,LB(头插法建立的链表顺序为倒序),遍历LA直到至LA的尾部即LA->next为空,让LA->指向LB的头部然后free(LB) 这是两个链表,LA,LB 另LA的尾部指向LB的首部,LA,LB即连接在了一起 代码: #include #include using namespace std; typedef struct Node { int data; struct Node*next; }LinkNode,*Linklist; /* 初始化链表 */ Linklist Initlist() { Linklist L; L=(Linklist)malloc(sizeof(LinkNode)); L->next=NULL; return L; } /* 尾插法建立链表 */ void CreatFromTail(Linklist L) { int data=-1; Linklist s,tail; tail=L; cin>>data; while(data!=-1) { s=(Linklist)malloc(sizeof(LinkNode)); s->data=data; tail->next=s; tail=s; cin>>data; } tail->next=NULL; } /* 输出链表 */ void PrintList(Linklist L) { Linklist p=L->next; while(p) { coutnext; } } /* 合并链表 */ void merge(Linklist LA,Linklist LB) { Linklist p=LA->next; while(p->next) { p=p->next; } p->next=LB->next; free(LB); //PrintList(LA); } int main() { Linklist LA,LB; LA=Initlist(); LB=Initlist(); CreatFromTail(LA); PrintList(LA); CreatFromTail(LB); PrintList(LB); cout |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |