1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| static node* list_reversal(node *L) {
node *pre = NULL; #if LIST_HEAD_JOIN node *cur = L->next; #else node *cur = L; #endif node *next = NULL;
while(cur) { next = cur->next; cur->next = pre;
pre = cur; cur = next; }
#if LIST_HEAD_JOIN L->next = pre; return L; #else return pre; #endif }
|