您的位置:首页 > 其它

拆分单链表(a1,b1,a2,b2....an,bn)=(a1,...an)+(bn,...b1)

2015-07-27 17:44 375 查看
带头结点
void split(LNODE *h,LNODE **h1,LNODE **h2)//
{
LNODE *r;//尾插法用来记住h1指向链表的最后一个节点;
LNODE *p = h->next,*q;//p用来指向当前处理节点。
*h2 = malloc(sizeof(LNODE));
(*h2)->next = NULL;
*h1 = h;
r = *h1;
while (p)
{
r->next  = p;
r = p;

p = p->next;
q = p->next;
p->next = (*h2)->next;
(*h2)->next = p;
p = q;
}
r->next = NULL;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: