算法思想:设置一个访问序号变量,每访问一个结点序号自动加1,然后根据序号的奇偶性分别将序号用尾插法插入A或者B中
LinkList DS(LinkList &A){
LNode *p;
int i=0;
*p=A->next;//p指向A的首结点防止断链
B=(LNode*)malloc(sizeof(LNode));//新建一个单链表
B->next=NULL;//置空单链表B
A->next=NULL//置空单链表A
LNode *ra=A,*rb=B;//ra,rb分别指向A,B的尾结点
while(p!=NULL){
i++;
if(i%2==0)
rb->next=p;//如果是偶序插入单链表B中
rb=p;//让rb始终指向尾结点
else
ra->next=p;//如果是奇序插入单链表A中
ra=p;//让ra始终指向尾结点
p=p->next;
}
ra->next=NULL;
rb->next=NULL;
return B;
}