J'écris une LinkedList en C, le code ci-dessous représente ma définition de Node.Comment définir une structure typedef contenant des pointeurs sur lui-même?
typedef struct {
int value;
struct Node* next;
struct Node* prev;
} Node;
Je comprends (ou penser que je fais) que struct Node
pas le même que typedef struct Node
. Certes, mon code se compile et s'exécute comme il est censé, cependant, je reçois beaucoup d'avertissements lors de l'attribution next
et prev
(avertissement: affectation de type pointeur incompatible). Je suppose que cela a à voir avec la façon dont je les définis dans la structure du nœud. Je téléchargé la source complète here
Donc, si tel est bien le problème, comment dois-je définir next
et prev
à l'intérieur du typedef struct Node
? Je m'inquiétais que ce soit un repos, mais je n'ai pas vraiment trouvé ce que je cherchais. Merci.
Votre liste liée me semble très étrange. Quand vous avez prev et ensuite pourquoi avez-vous besoin de tête et de queue alors? Trouvez une bonne liste de liens en c et apprenez-en. Je recommande la bibliothèque Apache Runtime. Je pense qu'il a une liste liée. – frast
ayant des pointeurs sur la tête et la queue font append et préfixent O (1) au lieu de O (n). Faites-moi savoir si vous voyez d'autres erreurs, car il s'agit principalement d'un exercice pour garder mes compétences C un peu frais après toutes ces années de Java .. –