数据结构单链表的合并

您所在的位置:网站首页 python里两个链表的合并 数据结构单链表的合并

数据结构单链表的合并

2024-06-02 04:01| 来源: 网络整理| 查看: 265

问题:将两个单链表合并

思路:首先用尾插法建立两个链表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