CRÉATION D'UN CONTENEUR C++ : LISTE CHAINEE

cobra84 Messages postés 42 Date d'inscription dimanche 26 août 2001 Statut Membre Dernière intervention 13 août 2007 - 19 nov. 2002 à 18:41
cheumani Messages postés 4 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 12 juillet 2008 - 12 juil. 2008 à 13:36
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/10119-creation-d-un-conteneur-c-liste-chainee

cheumani Messages postés 4 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 12 juillet 2008
12 juil. 2008 à 13:36
Peut-on adapter ton code source de manière à avoir un conteneur d'arbre de n'importe quoi?

Merci et bravo pour le génie.
cs_azkab Messages postés 22 Date d'inscription mardi 18 février 2003 Statut Membre Dernière intervention 29 juin 2004
30 avril 2004 à 15:04
merci vieuxLion.
azkab est une marque deposée elle a son copyright fo pa l'inserer dans tes exemples :P:)
merci encore une fois
cs_vieuxLion Messages postés 455 Date d'inscription samedi 26 octobre 2002 Statut Membre Dernière intervention 6 avril 2004 8
23 avril 2004 à 11:18
c'est une vieille syntaxe 'C'
typedef int(*PF)(char*)
sert à déclarer un "nouveau nom" PF plus court ;)) pour le type "pointeur sur une fonction qui prend un char * en argument et retourne un int" ((
Elle est utilisée ici pour une fonction C++
En général on l'utilise comme un type pour une variable.
Ca sert à définir une variable f qui pourra représenter tout à tour les fonctions f1 et f2. Par exemple
int f1(char*);
int f2(char*);
PF f = f1;
f("azkab);
f=f2;
f("azkab);
ou mieux, dynamiquement en cours du pgm...
cs_azkab Messages postés 22 Date d'inscription mardi 18 février 2003 Statut Membre Dernière intervention 29 juin 2004
23 avril 2004 à 09:13
salut tt le monde
vieuxlion peux tu m expliquer cette ligne de commande stp
"typedef void (Liste::*PFN)(Element *, bool&, Element* p=NULL);"
quanganh Messages postés 4 Date d'inscription jeudi 12 février 2004 Statut Membre Dernière intervention 12 février 2004
12 févr. 2004 à 06:04
3.1. Ecriture d’une liste chaînée

Le C++ est un langage modulaire qui permet d’écrire des classes ré-utilisables. Si l’on doit réaliser une liste chaînée d’étudiants, une liste chaînée d’enseignants, etc., il serait peut-être intéressant d’isoler tous les mécanismes de gestion d’une liste chaînée pour pouvoir les réutiliser. C’est ce que nous allons faire. Toute liste chaînée est composée de deux parties :

Les éléments qui constituent les maillons de la liste chaînée. Pour cela, vous devez créer une classe Element.
Le mécanisme de gestion des éléments et des liens entre les éléments que vous stockerez dans une classe Liste.


3.1.1. Ecrire la classe Element

Tout élément d’une liste chaînée est caractérisé par :

son contenu. Si nous souhaitons pouvoir faire des listes d’étudiants, d’enseignants, etc., il faut ne faut pas que ce contenu soit typé. Vous utiliserez donc le type void* qui représente un type quelconque. Vous aurez donc un attribut du type void * contenu ;
le pointeur vers l’élément suivant. Ce pointeur sera donc de type Element *.
3.1.2. Ecrire la classe Liste

Cette classe modélise une liste chaînée d’Elements. Elle est caractérisée par un pointeur sur le premier élément de la liste et un pointeur sur l’élément courant. Cette classe contient toutes les méthodes nécessaires à la gestion d’une liste chaînée d’Elements (Ajouter, Supprimer, FinListe, Premier, Prochain).

3.2. Ecrire la classe ListeEnseignant

Cette classe permettra de stocker l'ensemble des enseignants de l'université. Puisque nous avons défini une classe Liste générique, nous pouvons la réutiliser. Pour cela, vous pouvez et devez considérer que la ListeEnseignant "est une" Liste. Ainsi, grâce à un lien d'héritage, votre classe ListeEnseignant dispose de tous les éléments nécessaires à une gestion d'une liste chaînée. Vous devez rajouter à cette classe tous les éléments qui sont propres à la gestion d'enseignants comme par exemple, ajouter un enseignant dans la liste, supprimer un enseignant de la liste, … plus une méthode de GestionListeEnseignant permettant d'afficher un menu pour le choix entre les différentes fonctionnalités.

3.3. Ecrire la classe ListeUV

3.4. Ecrire la classe Universite

Cette classe devra comprendre :

Une liste d'UV
Une liste d'enseignants
Toutes les méthodes que vous trouverez utiles
Une méthode GestionUniversité contenant le menu permettant d'accéder à la gestion des différentes composantes de la classe (gestion des étudiants, gestion des enseignants…)
3.5. Ecrire le programme principal

Ecrire un programme principal qui permette de créer une université et de lancer la gestion de l'université.

help me plz...je suis vietnamien
Dun23 Messages postés 8 Date d'inscription jeudi 22 mai 2003 Statut Membre Dernière intervention 23 mai 2003
23 mai 2003 à 11:27
Il y a un megacours sur le C++ (y compris sur les conteneurs) à:
http:://casteyde.christian.free.fr/
Sinon, les map, c'est plutôt puissant et pratique!
cs_vieuxLion Messages postés 455 Date d'inscription samedi 26 octobre 2002 Statut Membre Dernière intervention 6 avril 2004 8
24 nov. 2002 à 14:35
la première doc est celle de ton compilo ... car c'est une bibliothèque standard.
il existe de bonnes implémentations de cette bibliothèque :
voici des exemples célèbres en téléchargement gratuit:
SGI : http://www.sgi.com/tech/stl
STLPORT : http://www.stlport.org
et même des futurs standards (?):
BOOST : http://www.boost.org
cobra84 Messages postés 42 Date d'inscription dimanche 26 août 2001 Statut Membre Dernière intervention 13 août 2007
20 nov. 2002 à 21:20
Sais-tu où je pourrais trouver de la bonne documentation sur cette librairie STL?
Merci d'avance ;-)
cs_vieuxLion Messages postés 455 Date d'inscription samedi 26 octobre 2002 Statut Membre Dernière intervention 6 avril 2004 8
20 nov. 2002 à 13:40
Merci pour le commentaire
Je te conseille de regarder la librairie standard "STL"
Le conteneur que tu envisage s'appelle la "Map" , conteneur associatif index+valeur
Inspire toi de son interface (liste de ses méthodes)
Bon courage
cobra84 Messages postés 42 Date d'inscription dimanche 26 août 2001 Statut Membre Dernière intervention 13 août 2007
19 nov. 2002 à 18:41
Excelente source! Bon travail... Pour continuer la série, je suis en train de programmer une classe "Collection" en C++. comme je programmai en Vb avant, j'avais l'habitude d'utiliser cette Collection. La source sera disponible d'ici peu.
Aller @+
Rejoignez-nous