Dans le fichier list.hpp
, créer la classe générique CList
de signature suivante :
templateclass CList { private: CNode * m_Head; public: CList (); ~CList (); //ajout en tête de liste void push_front (const T & val); //affichage void Show () const; //recherche d'un élément dans la liste, renvoie le pointeur du maillon si l'élément est présent, nullptr sinon CNode * Find (const T & val) const; //ajout d'une valeur après un maillon de la liste void Add (const T & val, CNode *); //détache un maillon de la liste et le supprime void Delete (CNode *); };
Ecrivez le corps de toutes les fonctions de cette classe.
Tester votre classe avec le code suivant :
void ListeSimpleV2 () { cout << "ListeSimpleV2 : \n\n"; CListAList; // Le dernier element cree est toujours le premier de la liste for (unsigned i (0); i < 5; ) { AList.push_front (i++); } AList.Show (); int i; cin >>i; CNode * ptr = AList.Find (i); AList.Add (3*i, ptr); AList.Show (); cout << ((ptr != NULL)? " " : "non ") << "trouve" << endl; }