在一个list中,我们先让头结点的next域指向结点2,再让结点1的next域指向结点3,最后将结点2的next域指向结点1,
就完成了第一次交换,顺序就变成了Header-结点2-结点1-结点3-结点4-NULL
就完成了第一次交换,顺序就变成了Header-结点2-结点1-结点3-结点4-NULL
typedef struct _list_t{struct _list_t *next;int data;
}list;void reverse_list(list *head)
{list *prev = head, *cur = head->next, *next = NULL;if (NULL == head || NULL == head->next){return ;}while (cur){next = cur->next;cur->next = prev;prev = cur;cur = next;}head->next = NULL;head = prev;
}