Salut tout le monde!
J'ai un petit soucis, je fais un programme avec des listes chaînées que je créé moi même sans utiliser la STL, et oui, je sais, mon prof' veut absolument que je gère les listes sans celles de la STL.
J'ai deux petits soucis, mon premier est que je n'arrive pas à initialiser un pointeur à NULL. J'ai tout de suite une erreur m'indiquant que NULL n'est pas déclaré, pourtant, je dois parfois réinitialisé mes pointeurs de listes à NULL, par exemple, quand je supprime tous les éléments de la liste.
next est un pointeur sur le maillon suivant de la liste chaînée, pourquoi je ne peux pas l'initialiser à NULL comme ça dans mon constructor ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2next = NULL;
Et mon deuxième problème est un petit peu plus conplexe, j'ai une abstract class Collection dont ma classe LinkedList est dérivée, pour celà, je dois implémenter toutes les pures virtuales fonctions de ma classe Collection dans ma classe LinkedList (add(),remove(),size()...).
J'ai un petit soucis lorsque je souhaite implémenter la fonction add() appartenant à ma classe LinkedList, je n'arrive pas à faire pointer mon pointeur next au maillon précédemment créé. Voici mon code de la fonction:
Je veux ajouter un element dans ma list (un element "int").
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 void LinkedList::add(int element){ Node* node = new Node; if(isEmpty()){ firstNode = node; lastNode = node; node->setValue(element); //node.setNext(NULL); } else{ firstNode = node; node->setValue(element); // TODO: node->setNext(node->getNext()); // Faux!! } sizeList++; }
"firstNode" et "lastNode" sont deux maillons dans ma classe LinkedList et "node" est un pointeur sur un objet de la classe node (=maillon).
La classe Node (=maillon) possède deux attributs: int value(champ data du maillon de la liste, Node* next (pointeur sur le prochain maillon de la liste).
En espérant que vous pourrez m'aider, merci d'avance!
A+
Partager