反转链表

来源:互联网 发布:lamb动作数据百度云 编辑:程序博客网 时间:2024/05/22 00:45
/* reverse_list.c auther:yejing data:2014/10/21 ver :1.0*/#include <stdio.h>#include <stdlib.h>typedef struct node_s{int item;struct node_s* next;}node_t;void show_list(node_t* list);node_t* reverse_list(node_t* head){if(!head)return;node_t* n = head;head = NULL;while(n){node_t* m = n;n = n->next;m->next = head;head = m;}printf("  -----reverseing list-----\n");return head;}node_t* creat(int n){node_t* phead = (node_t*)malloc(sizeof(node_t));if(!phead)return NULL;int i;node_t *p, *q;p = phead;phead->item = 1;for(i = 0; i < n - 1; ++i){q = (node_t *)malloc(sizeof(node_t));if(!q)return;p->next = q;q->item = i + 2;p = q;}return phead;}void show_list(node_t* list){if(!list)return;while(list){printf(" item of listnode is: %d \n", list->item);list = list->next;}return;}int main(int argc, char* argv[]){node_t* list = creat(5);show_list(list);list = reverse_list(list);show_list(list);return 1;}

0 0
原创粉丝点击