Corrige td6 LSb - Algorithmique et structures de données ?? Table arborescente binaire Manipulation d ? arbres binaires tables récursivité et itération Guillaume Revy Séances du et janvier Objectif du TD - Gestion d ? un annuaire téléphonique On veut gére
LSb - Algorithmique et structures de données ?? Table arborescente binaire Manipulation d ? arbres binaires tables récursivité et itération Guillaume Revy Séances du et janvier Objectif du TD - Gestion d ? un annuaire téléphonique On veut gérer un annuaire té- léphonique sous la forme d ? une table Pour cela on choisit une structure de données adaptée et on écrit les fonctions d ? accés nécessaires Utilisation de la classe map de la STL Exercice On utilisera la classe map de la STL Dé ?nir les types de données Table et IterTable corres- pondant à l ? annuaire typedef string Cle typedef int Info typedef map Table typedef map iterator IterTable Un objet de type Table est une map qui associe un objet de type Info entier à un objet de type Cle string Un objet de type Table peut être vu comme un tableau indicé par une Cle Exercice Écrire une fonction inserer Cle Info Table pour insérer une entrée dans la table Traiter le problème de l ? entrée déjà présente dans la table bool inserer Table table Cle cle Info info pair coderetour table insert makepair cle info return code retour second Une entrée dans la table correspond à une paire La fonction insert renvoie une paire contenant un itérateur sur l ? élément inséré et un booléen indiquant si la clé existait déjà dans la table et donc si l ? entrée a été insérée Exercice Écrire une fonction chercher Cle Table qui rend le numéro associé à un nom Traiter le cas d ? une absence d ? une entrée dans la table de ?ne nullInfo - de ?nition d ? une constante nullInfo - Info chercher Table table Cle cle IterTable info table ?nd cle retourne un iterateur sur l ? element trouve return info table end nullInfo info- second Si le nom n ? est pas trouvé on retourne un numéro égal à ?? nullInfo La syntaxe return info table end nullInfo info- second LSb - Éléments de correction du TD Cest équivalente à if info table end return nullInfo else return info- second De plus la table est passée par référence pour éviter de la dupliquer à chaque appel Exercice Écrire une fonction af ?cher Table qui af ?che sur l ? écran le contenu de la table void a ?cher Table table IterTable info for info table begin info table end info cout ------------------------------------------- endl cout Nom setw info- ?rst endl cout Numero setw info- second endl Exercice Écrire une fonction modi ?er Cle Info Table qui modi ?e le numéro correspondant à un nom situé dans la table void modi ?er Table table Cle c Info info table c info si l ? entree n ? existe pas elle est creee Si la clé c n ? existe pas l ? entrée est créée Sinon le numéro associé à la clé c est modi ?é par info Exercice Écrire une fonction supprimer Cle Table qui supprime une entrée
Documents similaires
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/UMAfoAHUDz6xrPN0JAajSLPg7OqGgY4UcxzySw3OtyQEB3fxMY2p2M6WVI97AKFOzdSohanQNMzto3XCFA0cUzlv.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/yUd8z3ztJls2gAVCzIODBuTKr5y1LWYNqCPSFGeU2hJsmKXOvBe7LGWPavg2fJmjlLVrdm7lVczI2xHWNof98fPY.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/11705176473bvkzjy9ietv5ttkodnutkadrlpbyotyqifclu1biccworvqzunq5niyik8bixdnnynsvvqirua2lptpzcyp1umxfmjwd7qkhfpu1.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/11705175214clcnnp1f3nztckvm3zejtpfik7lmcsawaqksumjcgxnyyqszogdulzcyifxyl3oaalhbinmmr8ak22xyxnfs0ruyss15kvxn3hlb.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/117051791340qh7ihxdmq0rlfuglp2kuzdxqary60eusrplvtezgqbwkiai9lkhlah7e2yf8j6v6nhdt0hz0nevpgusmjnkqujzgfsebyhw04yn.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/117052458694dmabyjlzlam0vbfrlirvhfub0ntowdisvukky9rvtadd3i6fez3svyebqaybfv8tybsm6on9aq8fhslrfeldtwtw99pl7w7evvf.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/11705218879tmvkkndy8awks0bw7t3najxzv43bxlh0auhpdwmub5foalgempetcsolzveoveygur4lnvaf6apem1vu6b0mnwqkjudskgyyvf2n.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/NI9813VEj8MXDpxROJ4WjydZdpfPSikOCDW4HWPQyYqH8F2GP3wYd6IiacZ5OhFTpldhfLlSDa4h4dxLqA0Hjsl3.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/8OLKE5PDgtBsfIWxA1iHFDwimPs0iPan0NkmILu5EEKRBzomj7xAo5xlYMMHWFCh7zIkjnrbfkd12QzGSNhHuQer.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/jYXsbppR6MQabrcmcASvtVvuZTwT3vPg4bar8ZkaJjmwOQwf7hSQDVSr51ZjXNtT5EoNhv2dsbFDXM2MtxGeJN4f.png)
-
23
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Aucune attribution requise- Détails
- Publié le Fev 03, 2022
- Catégorie Science & technolo...
- Langue French
- Taille du fichier 57.7kB