Exemple # 1Différence entre curr_node.ptr = & (next_node.ptr); et 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;
}
Ma compréhension:
Ce code décrivent un lien que chaque pointeur à la valeur de nœud suivant (ou le début du nœud), d'une certaine manière, il est un structure basique et simple. Mais que se passe-t-il si nous voulons que tous les pointeurs pointent vers le pointeur suivant, puis l'inversent? Le processus semble complexe lorsque nous voulons l'inverser lorsque tout le pointeur pointe vers le pointeur.
C'est,
curr_node.ptr = & (next_node.ptr);
PAS: curr_node.ptr = & next_node
Je l'ai essayé, mais je me suis aperçu qu'il ya quelques détails lorsque je tente de mettre en œuvre la fonction inverse dans une ptr 2 liste chaînée ptr. Connaissez-vous un exemple de code de cela? thx –
[my_rev_list.c] (http://xf.iksaif.net/epitech/.rendu/piscine/Jour_11/my_rev_list.c) –