void split(Link * L, Link * & A, Link * & B) { A=NULL; B=NULL; if (L==NULL) return; Link * lastA = L; L = L->next; lastA->next = NULL; A = lastA; if (L==NULL) return; Link * lastB = L; L = L->next; lastB->next = NULL; B = lastB; while (L != NULL) { lastA->next = L; lastA = L; L = L->next; lastA->next = NULL; if (L == NULL) break; lastB->next = L; lastB = L; L = L->next; lastB->next = NULL; } } |