按正负划分链表
设计 一个算法将一个带头节点的单链表A分解为具有相同结构的链表B和C,其中B表的结点为A表中值小于零的结点,而C表的结点为A表中值大于零的结点
要求利用A中的结点且A中结点为非零整数
没有运行处来不知道哪里错了
void Divide(LNode *L1,LNode *L2,LNode *L3){
LNode *p1=L1->next,*p2=L2,*p3=L3,*r;
L1->next=0;
while(p1){
if(p1->data<0){
r=p1;
p1=p1->next;
r->next=p2->next;
p2->next=r;
}
else {
r=p1;
p1=p1->next;
r->next=p3->next;
p3->next=r;
}
p2=L2->next,p3=L3->next;
printf("链表中小于0 的序列为:\n");
while(p2){
printf("%d",p2->data);
p2=p2->next;
}
printf("链表中大于0 的序列为:\n");
while(p3){
printf("%d ",p3->data);
p3=p3->next;
}
}
}