/*
题目:设C={a1,b1,a2,b2,...,an,bn}为线性表,采用带头结点的单链表存放,设计一个就地算法,将其拆分为两个线性表,使得A={a1,a2,..,an},B={bn,...,b2,b1}。
出自:王道p38.11
*/
//思路:回顾上一题,和此题唯一区别是B表的排列顺序,上一题B表示保持原顺序,所以采用尾插法,此题是逆序,故采用头插法解决问题。
//宏定义
#define ElemType int
//单链表定义
typedef struct LNode{
ElemType val;
struct LNode*next;
}*LinkList,LNode;
[注] 上述宏定义和结构体定义是答题时要写的答案,并不是代码实现时的定义,代码实现稍有不同,感兴趣可去“help.h”中查看。
//实现函数
LinkList_n* WD_38_11(LinkList_n head){
LinkList_n*res=(LinkList_n*)malloc(sizeof(LinkList_n)*2);
LinkList_n