| | 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 | |