单向链表的反序
#include <stdio.h> #include <stdlib.h> typedef struct node { int id; struct node *next; } node; node *reverse(node *head) { node *reverse_head; node *n; node *p = NULL; node *c = head; while (c != NULL) { n = c->next; if (n == NULL) reverse_head = c; c->next = p; p = c; c = n; } return reverse_head; }