| 23 | |
| 24 | |
| 25 | == Le conteneur {{{vector}}} == |
| 26 | |
| 27 | === Question 1 === |
| 28 | |
| 29 | Écrire une fonction {{{vectorBench1()}}} effectuant les tâches suivantes: |
| 30 | * Charger dans un vecteur de {{{string}}} le texte en insérant les nouveaux |
| 31 | éléments à la fin. |
| 32 | * Afficher le nombre d'éléments du vecteur. |
| 33 | * Trier les éléments du vecteur. |
| 34 | * Afficher tous les éléments du vecteur. On les affichera sur une seule |
| 35 | ligne (ce sera très long). |
| 36 | |
| 37 | Compiler et éxécuter ce programme. Mesurer sont temps d'exécution grâce à |
| 38 | la commande {{{time}}} (si votre programme s'appelle {{{containers}}}). |
| 39 | {{{ |
| 40 | > time ./containers |
| 41 | }}} |
| 42 | '''Remarque:''' Le temps peut varier légèrement d'une exécution à l'autre |
| 43 | en fonction de la charge de la machine. Lancez votre programme plusieur |
| 44 | fois pour avoir un ordre de grandeur. |
| 45 | |
| 46 | |
| 47 | === Question 2 === |
| 48 | |
| 49 | Écrire une fonction {{{vectorBench2()}}} idendique à la précédente, mais |
| 50 | qui, ''au lieu d'insérer les éléments en fin de conteneur'', les insère |
| 51 | en tête. Sachant que {{{vector<>}}} n'a pas de {{{push_front()}}}, comment |
| 52 | peut-on faire (simplement). |
| 53 | |
| 54 | Mesurer le temps. Conclusion? |
| 55 | |
| 56 | |
| 57 | === Question 3 === |
| 58 | |
| 59 | Écrire une fonction {{{vectorBench3()}}}, qui effectue les mêmes traitements |
| 60 | que {{{vectorBench1()}}} ''à ceci près'' que le tri, au lieu d'être effectué |
| 61 | une seule fois en fin de fonction sera fait après l'insertion de chaque |
| 62 | élément. |
| 63 | |
| 64 | Mesurer le temps. Conclusion? |