将一个单链表{a1,b1,a2,b2''''''an,bn}拆分成{a1,a2,''''''an}和{b1,b2,''''''bn}
void divide(LNode *&A){
LNode *B = new LNode;
B->next = NULL;
LNode *ra = A, *p = A->next, *q;
A->next = NULL;
while(p != NULL){
ra->next = p;//尾插法生成新的A链表
ra = p;
p = p->next;
q = p; //头插法生成B链表
if(q == NULL)
break;
p = p->next;
q->next = B->next;
B->next = q;
}
ra->next = NULL;
}
删除递增链表中重复的元素
void del(LNode *&L){
LNode *p = L->next;
LNode *q = new LNode;
if(L==NULL) return;
while(p->next != NULL){
q = p->next;
if(p->data == q->data){
p->next = q->next;
free(q);
}
else
p = p->next;
}
}