Liste chaineé
jaych
Messages postés
6
Statut
Membre
-
jaych Messages postés 6 Statut Membre -
jaych Messages postés 6 Statut Membre -
Bonjour,
Je fais un mini projet en c++ et je veux faire une lisite chaineé qui contient plusieures noeuds et chaque noeuds comporte 6 champs si quelqu'un peut donner le code comment on peut faire cette liste s'il vous plait et merci beaucoup.
Je fais un mini projet en c++ et je veux faire une lisite chaineé qui contient plusieures noeuds et chaque noeuds comporte 6 champs si quelqu'un peut donner le code comment on peut faire cette liste s'il vous plait et merci beaucoup.
A voir également:
- Liste chaineé
- Liste déroulante excel - Guide
- Liste code ascii - Guide
- Liste déroulante en cascade - Guide
- Site dangereux liste - Guide
- Voir liste d'amis facebook - Guide
2 réponses
Bonjour,
La liste chaînée s'appelle std::list en C++. On défini une structure avec deux champs et on pourra mettre des éléments de ce type dans la liste.
La liste chaînée s'appelle std::list en C++. On défini une structure avec deux champs et on pourra mettre des éléments de ce type dans la liste.
#include <list>
#include <string>
#include <algorithm>
#include <iostream>
struct Noeud {
std::string chmp1; // Un premier champ de type chaine
int chmp2; // Un second champ de type entier
};
int main() {
std::list<Noeud> maListe; // une liste de Noeud
Noeud unNoeud{ "ch1" , 1 }; // un Noeud
maListe.push_back( unNoeud ); // ajout en fin de liste
maListe.push_front( Noeud{"ch2",0} ); // ajout en début de liste
// recherche dans la liste d'un element
auto it = std::find( maListe.begin() , maListe.end() ,
[=]( Noeud const &n ) { return n.chmp1=="ch2" } );
if ( it != maListe.end() )
std::cout << "trouve " << it->chmp1 << " " << it->chmp2 << "\n";
else std::cout << "n'a pas ete trouve\n";
maListe.insert( it, Noeud{"ch3",27} ); // ajout apres endroit trouve
// affichage de la liste en la parcourant
for ( auto it = maListe.begin(); it != maListe.end(); ++it ) {
std::cout << "noeud:" << it->chmp1 << " " << it->chmp2 << "\t";
} // ecrira noeud:ch2 0 noeud:ch3 27 noeud:ch1 1
}



Commence par :
struct Noeud {puis écrire les fonctions de chaînage/création/libération (que tu trouveras peut-être dans un forum C)... mes champs ...;
struct Noeud *pSuivant; // struct sert à rien sauf rappeler que tu n'es pas en vrai C++
};
En mettant ces fonctions en membre, cela sera du 'C avec les classes'