This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
in204:tds:sujets:td6:part2 [2022/10/08 16:25] bmonsuez |
in204:tds:sujets:td6:part2 [2022/11/18 10:49] (current) |
||
---|---|---|---|
Line 5: | Line 5: | ||
===== Question n°1 ===== | ===== Question n°1 ===== | ||
- | Nous considérons toujours notre code affichant le contenu d'un containeur tel que définit dans la [[in204:tds:sujets:td6:part1|première partie]]. | + | Nous considérons toujours notre code affichant le contenu d'un conteneur tel que défini dans la [[in204:tds:sujets:td6:part1|première partie]]. |
<code cpp> | <code cpp> | ||
Line 25: | Line 25: | ||
==== Question n°1.1 ===== | ==== Question n°1.1 ===== | ||
- | Déterminer ce qui va caractériser un containeur pouvant être pris comme argument par la fonction précédente ? | + | Déterminer ce qui va caractériser un conteneur pouvant être pris comme argument par la fonction précédente ? |
<hidden Correction> | <hidden Correction> | ||
- | En fait, il est attendu que le containeur fournisse deux méthodes : | + | En fait, il est attendu que le conteneur fournisse deux méthodes : |
* `begin()`: retournant un itérateur marquant le début de la séquence, | * `begin()`: retournant un itérateur marquant le début de la séquence, | ||
Line 35: | Line 35: | ||
L'itérateur qui est retourné doit supporter : | L'itérateur qui est retourné doit supporter : | ||
- | * l'accès en lecture des données stockées dans le containeur, | + | * l'accès en lecture des données stockées dans le conteneur, |
* le parcours en avant. | * le parcours en avant. | ||
Line 45: | Line 45: | ||
==== Question n°1.2 ===== | ==== Question n°1.2 ===== | ||
- | Implanter un concept qui permet de formaliser les exigences que vous venais de formuler ? | + | Implanter un concept qui permet de formaliser les exigences que vous venez de formuler ? |
<hidden Correction> | <hidden Correction> | ||
Line 61: | Line 61: | ||
==== Question n°1.3 ===== | ==== Question n°1.3 ===== | ||
- | Ajouter les contraintes à l'opérateur `<<` qui a été défini pour un containeur. | + | Ajouter les contraintes à l'opérateur %%<<%% qui a été défini pour un conteineur. |
<hidden Correction> | <hidden Correction> | ||
Line 104: | Line 104: | ||
Nous avons deux fonctions pour effectuer un tri, l'algorithme simple de tri que nous avons implanté et l'algorithme ``std::sort`` fourni par la STL. | Nous avons deux fonctions pour effectuer un tri, l'algorithme simple de tri que nous avons implanté et l'algorithme ``std::sort`` fourni par la STL. | ||
- | Cependant notre algorithme fonctionne pour des itérateurs qui ne supporte par l'accès indexé tandis que l'algorithme ``std::sort`` est un quicksort et nécessite un accès indexé mais qui est plus rapide. | + | Cependant notre algorithme fonctionne pour des itérateurs qui ne supportent pas l'accès indexé tandis que l'algorithme ``std::sort`` est un quicksort et nécessite un accès indexé mais qui est plus rapide. |
Modifier le code de ``std::simple_sort`` pour appeller ``std::sort`` si jamais les itérateurs sont des itérateurs supportant l'accès direct (``std::random_access_iterator``). | Modifier le code de ``std::simple_sort`` pour appeller ``std::sort`` si jamais les itérateurs sont des itérateurs supportant l'accès direct (``std::random_access_iterator``). |