Ajout d'un élément comme ArrayDeque
Fermé
stampia02
Messages postés
95
Date d'inscription
samedi 30 juillet 2011
Statut
Membre
Dernière intervention
13 mai 2017
-
18 févr. 2017 à 00:30
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 - 19 févr. 2017 à 21:45
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 - 19 févr. 2017 à 21:45
A voir également:
- Ajout d'un élément comme ArrayDeque
- Ajouter un profil netflix payant - Accueil - Guide streaming
- Comment enlever la limite d'ajout sur snapchat - Forum Snapchat
- Inspecter l'élément android - Forum Wiko
- Impossible de copier car cet élément est trop volumineux pour le format du volume - Forum MacOS
- Ajout rapide snap - Forum Snapchat
1 réponse
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 020
18 févr. 2017 à 01:33
18 févr. 2017 à 01:33
Bonjour,
Par définition un Deque doit pouvoir ajouter des valeurs par les deux bouts (au début et à la fin) dans quel cas es-tu ?
Sinon, je te conseillerais plutôt de manipuler une position de début de liste, ce sera plus utile que la taille pour faire tes calculs.
De plus, la portion de code concernant le dédoublement serait sûrement à sortir dans une méthode dédiée, parce qu'elle sera utilisé identiquement par les deux méthodes d'ajout.
Une approche pour faire ce genre de développements c'est le TDD.
Tu fais d'abords tes tests unitaires pour lister les différents cas possibles puis tu fais le code jusqu'à ce que tous tes tests fonctionnent.
Cette approche permet de mieux découper son code en méthode plus petites, donc plus facilement testables et surtout plus facilement codables.
Remarque : rien ne t'obliges à considérer null comme une valeur invalide.
Par définition un Deque doit pouvoir ajouter des valeurs par les deux bouts (au début et à la fin) dans quel cas es-tu ?
Sinon, je te conseillerais plutôt de manipuler une position de début de liste, ce sera plus utile que la taille pour faire tes calculs.
De plus, la portion de code concernant le dédoublement serait sûrement à sortir dans une méthode dédiée, parce qu'elle sera utilisé identiquement par les deux méthodes d'ajout.
Une approche pour faire ce genre de développements c'est le TDD.
Tu fais d'abords tes tests unitaires pour lister les différents cas possibles puis tu fais le code jusqu'à ce que tous tes tests fonctionnent.
Cette approche permet de mieux découper son code en méthode plus petites, donc plus facilement testables et surtout plus facilement codables.
Remarque : rien ne t'obliges à considérer null comme une valeur invalide.
18 févr. 2017 à 11:55
Je ne comprend pas trop ce que tu veux dire par "position de début de table", c'est l'indice tête, non ? Enfaite j'aurai aimé faire qu'une seul méthode d'ajout qui prend en compte le positionnement de début de table, même lors d'une suppression.
Voici mon code de suppresion
Pour le dédoublement je peux le faire a part oui. Intérrésant le TDD, je ne connaisait pas cette approche.
18 févr. 2017 à 16:18
Tu n'as pas expliqué à quoi correspondait tes variables, alors j'essaye de deviner.
Pour moi il devrait y avoir deux pointeurs dans ton objet, l'indice dans le tableau où se situe le premier élément et l'indice dans le tableau où se situe le dernier élément.
Ajouter au début consiste donc à faire et ajout à la fin consiste à faire sous réserve bien sûr qu'il y ait assez de place dans la table. Et en mettant en place des index cycliques, c'est à dire que l'on pourrait avoir des éléments qui dépassent la taille du tableau en utilisant ses premières cases, mais je crois que tu es déjà parti avec ce principe.
18 févr. 2017 à 17:05
C'est ce que j'ai essayé de faire avec le modulo.
18 févr. 2017 à 18:00
19 févr. 2017 à 21:00