c語言reverse用法(C reverse函數)
發布者:何原明
2022-08-23
導讀1、#include#includetypedef struct _node { int value; struct _node *next;} node;node * make_node(int v
.jpg)
1、#include#includetypedef struct _node { int value; struct _node *next;} node;node * make_node(int value) { node *new_node = (node *) malloc(sizeof(node)); new_node->value = value; new_node->next = 0; return new_node;}node * add_after(node *pos, int value) { node *new_node = make_node(value); pos->next = new_node; return new_node;}void print_node_list(node *head) { while (head) { printf("%d", head->value); head = head->next; } printf("");}void free_node_list(node *head) { node *temp; while (head) { temp = head; head = head->next; free(temp); }}node * reverse(node *head) { node *f = 0, *s = 0; while (head) { f = s; s = head; head = head->next; s->next = f; } return s;}int main() { int i = 0; node *head = make_node(i), *last = head; while (i < 10) { last = add_after(last, ++i); } print_node_list(head); head = reverse(head); print_node_list(head); free_node_list(head); return 0;}。
本文到此分享完畢,希望對大家有所幫助。
免責聲明:本文章由會員“何原明”發布如果文章侵權,請聯系我們處理,本站僅提供信息存儲空間服務如因作品內容、版權和其他問題請于本站聯系