| 65 | |
| 66 | |
| 67 | == Le conteneur {{{list<>}}} == |
| 68 | |
| 69 | === Question 4 === |
| 70 | |
| 71 | On reprend les fonctions de test des {{{vector<>}}} et on les adapte pour la |
| 72 | {{{list}}} (cela donnera les fonctions {{{listBenchX()}}}). |
| 73 | |
| 74 | Mesurer les temps. Effectuer une comparaison entre les différents test de |
| 75 | {{{list<>}}} et une comparaison entre les test identiques pour {{{list<>}}} |
| 76 | et {{{vector<>}}}. Conclusions. |
| 77 | |
| 78 | |
| 79 | == Le conteneur {{{map<>}}} == |
| 80 | |
| 81 | === Question 5 === |
| 82 | |
| 83 | Nous allons utiliser la {{{map<>}}} pour compter le nombre de fois qu'un mot |
| 84 | apparaît dans le texte. La {{{map<>}}} aura donc pour '''clé''' un mot |
| 85 | (i.e. une {{{string}}}) et pour '''valeur''' un compteur (i.e. un {{{int}}}. |
| 86 | |
| 87 | La fonction effectuera les traitements suivants: |
| 88 | * Pour chaque mot de texte: |
| 89 | * Chercher si un élément ayant pour clé le mot existe. |
| 90 | * S'il existe, incrémenter le compteur associé. |
| 91 | * S'il n'existe pas, insérer un nouvel élément dans la {{{map<>}}} |
| 92 | (une {{{pair}}} (''clé'',''valeur'') ) avec le compteur à 1. |
| 93 | * Afficher le nombre d'éléments dans la {{{map<>}}}. |
| 94 | * Afficher l'ensemble des éléments de la {{{map<>}}} sous forme d'une seule |
| 95 | grande ligne de '''{{{mot::compte}}}'''. |
| 96 | * Recalculer le nombre de mot du texte. |
| 97 | |
| 98 | |
| 99 | == Fonction de Tri, Objet Fonctionnel == |
| 100 | |
| 101 | === Question 6 === |
| 102 | |
| 103 | Créer un objet fonctionnel {{{CompareString}}} effectuant la comparaison |
| 104 | lexicographique ''inverse'' sur deux {{{string}}}. Utiliser cet objet |
| 105 | fonctionnel en tant que trosième paramètre de la {{{map<>}}} et observer |
| 106 | le résultat à l'exécution. |
| 107 | |