c++怎么实现接两个链表

  介绍

这篇文章将为大家详细讲解有关c++怎么实现接两个链表,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

<强>,c++实现接两个链表实例代码

有以ha为头结点的链表,元素个数为m;以hb为头结点的链表,元素个数为n。现在需要你把这两个链表连接起来,并使时间复杂度最小,请分析并实现。

<强>思路:

很简单的链表操作的题目,逆序头部插入,并将长度较长的一方接到较短的后面,时间复杂度为O (min (m, n)),注意自由使用的地点!。

实例代码:

# include  & lt; iostream>,   # include  & lt; string>,   # include  & lt; algorithm>,   using  namespace 性病,   typedef  int  ElemType;,   ,   typedef  struct  Node    {,   ,,ElemType 数据;   struct 才能;Node  *下,,   * LinkList} Lnode,,   ,   ,//打印,,   void 打印(LinkList ,头),   {,   LinkList 才能;plist=头→下一个,,   而才能(plist !=NULL),   ,{大敌;   ,,,cout<& lt; plist→data<& lt;“,“,   ,,,plist=plist→下一个,,   ,,},   cout<才能;& lt; endl,   },   ,//逆序输入链表,,   void  CreateList (int  LinkList 和L, m),   {,   ,,LinkList  p;   L=(LinkList)才能malloc (sizeof(节点)),,   L→才能下=零;,   cout<才能;& lt;“逆序输入元素,空格分隔:“& lt; & lt; endl;,   ,,(int  i=m; i> 0;——我),   ,{大敌;   ,,,p=(LinkList) malloc (sizeof(节点)),,   ,,,cin>在p→数据;,   ,,,p→下=L→下,,   ,,,L→下=p;,   ,,},   打印(L);才能,   },   ,//连接链表,,   void 结合(LinkList ,哈,int  m, LinkList , hb, int  n, LinkList 及hc),   {,   selectMin; LinkList 才能;   hc才能=(LinkList) malloc (sizeof(节点)),,   int 才能;标志=0;,   如果才能(m> n),   ,{大敌;   ,,,selectMin=hb;,   ,,,标志=1,,//ha在后面,,   ,,},   else 才能;   ,,selectMin=公顷;   ,,   而才能(selectMin→下一个!=NULL),   selectMin=selectMin→才能下,,   ,,   如果(国旗),才能   ,{大敌;   ,,,selectMin→下=ha→下,,   ,,,hc=hb;,   ,,,自由(ha);//notice    ,,},   else 才能;   ,{大敌;   ,,,selectMin→下=hb→下,,   ,,,hc=公顷;,   ,,,(hb);自由,   ,,},   cout<才能;& lt;“合并后的链表为:“& lt; & lt; endl;,   打印才能(hc);,,   },   ,   void 毁坏(LinkList 和hc),//仅释放hc即可,,   {,   ,,LinkList 温度;   而才能(hc !=NULL),   ,{大敌;   ,,,temp=hc;,   ,,,hc=hc→下一个,,   ,,,自由(临时),,   ,,},   },   int  main (),   {,   int 才能;m, n,,   cout<才能;& lt;“请输入以ha为头节点链表的元素个数:“& lt; & lt; endl;,   ,cin>才能的在米,,   LinkList 才能;哈,hb, hc,,   CreateList才能(哈,m),,   cout<才能;& lt;“请输入以hb为头节点链表的元素个数:“& lt; & lt; endl;,   ,cin>才能的在n,,   CreateList才能(hb, n),,   结合才能(哈,m, hb, n, hc),,   ,,   破坏(hc);才能,   return 才能,0,,,,   }

 C + +怎么实现接两个链表

关于“c++怎么实现接两个链表”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看的到。

c++怎么实现接两个链表