这题答案只说了思路, 代码是我自己写的。
Status LiskDivideInto3CL(LinkList &L, LinkList &s1, LinkList &s2, LinkList &s3) { LinkList p, q, pt1, pt2, pt3; p = L->next; pt1 = s1; pt2 = s2; pt3 = s3; while(p){ if(p->data >= '0' && p->data<='9') { q = p; p = p->next; q->next = pt1->next; pt1->next = q; pt1 = pt1->next; } else if((p->data>='A' && p->data<='Z') || (p->data>='a' && p->data<='z')) { q = p; p = p->next; q->next = pt2->next; pt2->next = q; pt2 = pt2->next; } else{ q = p; p = p->next; q->next = pt3->next; pt3->next = q; pt3 = pt3->next; } q=L; free(q); return OK; } }