分析:
B表的头结点使用原来A表的头结点,为C表新申请的一个结点。从A表的第一个结点开始,依次取其每一个结点p,判断结点p的值是否小于0,利用前插法,将小于0的结点插入B表,大于等于0的结点插入C表。
void Discompose(linkList A){
B=A;
B->next=NULL; //B表初始化
C=new LNode; //为C申请结点空间
C->next=NULL; //C初始化为空表
P=A->next; //p为工作指针
while(p!=NULL){
r=p->next; //暂存p的后继
if(p->data<0){
p->next=B->next;
B->next=p; //将小于0的结点链入B表,前插法
}
else{
p->next=c->next;
c->next=p; //将大于等于0的结点链入C表,前插法
}
p=r; //p指向新的处理结点
}
}



