========================================================
# include & ltstdio.h & gt
# include & ltstdlib.h & gt
typedef struct _node {
int值;
struct _ node * next
}節點;
node * make_node(int value) {
node * new _ node =(node *)malloc(sizeof(node));
新節點-& gt;值=值;
新節點-& gt;next = 0;
返回新節點;
}
node * add_after(node *pos,int value) {
node *new_node = make_node(值);
pos-& gt;next = new _ node
返回新節點;
}
void print _ node _ list(node * head){
while(頭){
printf("%d ",head-& gt;值);
head = head-& gt;接下來;
}
printf(" \ n ");
}
void free_node_list(node *head) {
節點*溫度;
while(頭){
temp = head
head = head-& gt;接下來;
免費(臨時);
}
}
node * reverse(node *head) {
節點*f = 0,* s = 0;
while(頭){
f = s;
s =頭部;
head = head-& gt;接下來;
s-& gt;next = f;
}
返回s;
}
int main() {
int I = 0;
node *head = make_node(i),* last = head
while(我& lt10) {
last = add_after(last,++ I);
}
print_node_list(表頭);
頭=反向(頭);
print_node_list(表頭);
free_node_list(頭);
返回0;
}