/*
题目:将一个带头结点的单链表A分解为两个带头节点的单链表A和B,使得A表中含有原表中序号为奇数的元素,而B表中含有序号为偶数的元素,且保持相对顺序不变。
出自:王道p38.10
*/
//思路:准备A、B两链表的头结点,然后让工作指针p指向原来A链表的next(遍历),p不空时,每次摘下一个尾插到A,再摘下一个尾插到B。
//宏定义
#define ElemType int
//单链表定义
typedef struct LNode{
ElemType val;
struct LNode*next;
}*LinkList,LNode;
[注] 上述宏定义和结构体定义是答题时要写的答案,并不是代码实现时的定义,代码实现稍有不同,感兴趣可去“help.h”中查看。
//实现函数
LinkList_n* WD_38_10(LinkList_n head){
LinkList_n*res=(LinkList_n*)malloc(sizeof(LinkList_n)*2); //用来返回两个链表头结点
LinkList_n A=head;