题意:
设C{a1,b1,a2.b2…an,bn}为一线性表,采用带头结点的单链表hc存放,设计一个就地算法,将其拆分为两个线性表,每个线性表均采用带头结点的单链表存储,使得:
A = {a1,a2.a3.a4…an},
B = {b1,b2,b3.b4…bn}

单链表的存储结构:

typedef struct LinkList{int data;LinkList * next;}

分析:
这里的拆分线性表与拆分奇偶链表类似。
但是,但是这两者有啥不同呢?
1.前者是,在一个线性表当中,有奇数偶数,经过判断后拆分
2.这里是,在一个线性表中,第一个放入A表,第二个放入B表。第三个放入A表,第四个放入B表,不用经过判断

思路:
1.定义一个指针变量p用于遍历,且定义两个尾指针ra,rb.生成新头结点B
2.通过while循环,从第一个开始插入,插入一个,后移一个
2.1 插入A,后移一个
2.2插入B,后移一个
3.最后将两者尾节点的指针域置为空。

C代码实现:

 void Splist(LinkList *hc,LinkList * &ha, LinkList * &hb){LinkList * P = A->next,*ra,*rb;  //遍历链表的指针p.两个尾指针。ra = hc;hb = (LinkList *)malloc(sizeof(LinkList));rb = hb;while(p!=null){ra->next = p;ra = p;p=p->next;//上面A表,下面B表。rb->next = p;rb = p;p= p->next;}ra->next = rb->next = null; //两尾节点指针域置为空。  }

单链表-单链表拆分为两个线性表(尾插法+尾插法)相关推荐

  1. 单链表-两个线性表的合并(不破坏原链表+尾插法)

    题意: 令L1 = (X1,X2,X3,X4-Xn), L2 = (y1,y2,y3,y4-ym);是两个线性表.采用带头节点的链表存储,设计一个算法合并L1,L2,结果放在线性表L3中,要求如下: ...

  2. 单链表-两个线性表的合并1(破环原链表+尾插法)

    题意: 令L1 = (X1,X2,X3,X4-Xn), L2 = (y1,y2,y3,y4-ym);是两个线性表.采用带头节点的链表存储,设计一个算法合并L1,L2,结果放在线性表L3中,要求如下: ...

  3. 【数据结构 C描述】有两个整数集合 A 和 B 分别用两个线性表 LA 和 LB 表示,求:一个新的集合A=A∪B,A仍然为纯集合,线性表采用链式存储方式。【单链表】

    这是我的作业题,作业写完后再附到博客中,可能代码写得很烂.虽然是C语言写的,但是我在其中加入了C++的写法,例如cout.我懒得写printf的格式控制符,所以用cout来输出内容,这样我感觉简便多了 ...

  4. c语言两个线性表la lb,假设有两个集合A和B分别用两个线性表LA和LB表示,即.ppt

    假设有两个集合A和B分别用两个线性表LA和LB表示,即.ppt 循环链表是单链表的变形. 循环链表最后一个结点的link指针不为 0 (NULL),而是指向了表的前端. 为简化操作,在循环链表中往往加 ...

  5. c语言两个线性表la lb,线性表La和线性表Lb合并

    线性表La与Lb合并. 输入:两个线性表La和Lb. 过程:循环集合B中的每个元素,判断当前元素是否存在A中,若不存在,则插入到A中即可. 输出:合并后的线性表La. 代码如下 #include us ...

  6. c语言两个线性表la lb,有两个集合用两个线性表LA和LB表示即线性表中的数据元素即为集合中的成员现要求一个新的集合...

    <有两个集合用两个线性表LA和LB表示即线性表中的数据元素即为集合中的成员现要求一个新的集合>由会员分享,可在线阅读,更多相关<有两个集合用两个线性表LA和LB表示即线性表中的数据元 ...

  7. 关于数据结构链表问题(C语言实现)—— 线性表顺序存储设计与实现

    这是我的第一篇博客(内容为废话) 现在马上面临毕业的我,发现整理总结问题真的非常重要,刚刚开始学习数据结构,并且非科班出身的我,感觉得到压力非常大,所以开始学习完后在这进行回忆,复习学习.在这里要感谢 ...

  8. 删除所有奇数顺序表c语言,怎么将一个线性表(顺序表)拆分成两个奇偶表(C语言)?...

    如何将线性表A拆分成线性表A和B,使得A存放奇数,B存放偶数? 1.基础函数 1.1 get取函数 int get(nod *la,int i) { return la->data[i]; } ...

  9. PHP表单提交的方式有哪两种,form表单提交数据的几种方式

    一.submit提交 在form标签中添加action(提交的地址)和method(post),且有一个submit按钮()就可以进行数据的提交,每一个input标签都需要有一个name属性,才能进行 ...

最新文章

  1. coc跑团san数值规则_为什么B站上有些coc跑团7版规则san值四五十,但是掉的时候只是掉1D3,是不是应该是20上限?...
  2. confluence7安全补丁_centos7安装confluence遇到的问题
  3. 天天沉迷于皇上本宫的都是sb
  4. python中 普通方法_python中普通方法classmethod和staticmethod的区别与用法
  5. 英文Ubantu系统安装中文输入法
  6. 【SpringCloud】第五篇: 路由网关(zuul)
  7. 95-130-502-源码-source-ElasticSearch相关-ElasticSearch connector
  8. 哪些应用场景在使用语音连麦
  9. sas 分析家模块 安装,SAS9.3/9.4统计分析安装使用教程自学资料完整模块最新SID
  10. linux沙箱隔离_linux沙箱技术
  11. React hook必须要知道的知识: useEffect的cleanup
  12. 为什么let this=that
  13. 游戏‘微信打飞机 第一课
  14. ae制h5文字动画_html5酷炫的文字打字动画特效
  15. 什么是桌面虚拟化,实施桌面虚拟化有什么好处?
  16. 发现自己很失败。。。
  17. CDN,P2P,PCDN的区别?
  18. php实现远程下载文件到本地服务器指定目录
  19. 房价拐点已到,刚需可以持币等待购房好时机
  20. rust太阳能板发电教程_自制太阳能发电机详细教程(图文)

热门文章

  1. 目录 文件 链接管理命令总结
  2. OO第三单元作业总结
  3. 手把手教你React(一)JSX与虚拟DOM
  4. Node:非IO的异步API
  5. 第一家线下场景大数据平台Anchor-Point诞生
  6. JEECG支付宝服务窗开发培训视频
  7. MySQL/MariaDB查询执行路径
  8. SqlServer2008到期升级企业版 密钥+图解
  9. linux下rpm,yum学习
  10. 动态增删表格行(纯JS写法)