要求实现函数,将数据域值为非0整数的带头结点的单链表La拆分为2个单链表Lb
、Lc
,要求仅可增加1个头结点作为Lb
或Lc
的头结点,其中,Lb
依序存放原来La
中的负数,Lc
依序存放原来La
中的正数。测试数据保证2个结果链表都不为空。
函数接口定义:
void splitList(LinkList &La, LinkList &Lb, LinkList &Lc) ;
其中引用参数 La
是待拆分的带头结点的链表,引用参数Lb
、Lc
是待返回的2个结果链表。链表的头指针为head
,结点指针域为next
,数据域为data
。
裁判测试程序样例:
#include<iostream>
using namespace std;
typedef int ElemType;
struct LNode {
ElemType data; // 数