//C={a1,b1,a2,b2,...,an,bn},带头结点,就地拆分成两个线性表,
//使得A={a1,a2,...,an} B={bn,...,b2,b1}
//还是通过奇偶位置判断,A采用尾插法,B采用头插法
LinkList Depart_AB(LinkList &A){
int count = 1;//计数器
//创建B链表
LinkList B = (LinkList)malloc(sizeof(LNode));
B->next = NULL;
LNode *q,*p = A->next;
LNode *ra = A;
LNode *rb = B;
while(p != NULL){
//奇数位置用尾插法插入A中
if(count%2 != 0){
ra->next = p;
ra = p;
p = p->next;
}
//偶数位置用头插法插入B中
else{
q = p->next;
p->next = rb->next;
rb->next = p;
p = q;
}
count++;//计数器加一
}
ra->next = NULL;
return B;
}