-2
實施例#1curr_node.ptr =&(next_node.ptr);和curr_node.ptr =&next_node
#include <stdio.h>
struct node{
struct node *next;
char *data;
};
struct node *reverse_list(struct node *head)
{
struct node *curr, *prev, *next;
curr = head;
prev = NULL;
next = curr->next;
while(curr != NULL){
next = curr->next;
curr->next = prev;
prev = curr;
curr = next;
}
return prev;
}
int main(){
struct node *reverse_list();
return 0;
}
我的理解:
此代碼描述的鏈接,每一個指針指向下一個節點的值(或節點的開始),不知它是一個基本和簡單的結構。 但是,如果我們希望所有的指針指向下一個指針然後將其反向呢?當所有的指針都指向指針時,我們想要反轉它,這個過程似乎很複雜。
即,
curr_node.ptr = &(next_node.ptr);
NOT:curr_node.ptr = & next_node
我已經嘗試過了,但我意識到,有一些細節,當我試圖實現在PTR 2 PTR鏈表反轉功能。你知道一些代碼的例子嗎? thx –
[my_rev_list.c](http://xf.iksaif.net/epitech/.rendu/piscine/Jour_11/my_rev_list.c) –