A voir également:
- Ajout d'un élément comme ArrayDeque
- Demande d'ajout snap qui disparait ✓ - Forum Snapchat
- Ajout rapide snap - Forum Snapchat
- Inspecter l'élément mac ✓ - Forum MacOS
- Open element - Télécharger - HTML
- Ajout snap sans rien d'écrit - Forum Snapchat
1 réponse
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.
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.
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.
C'est ce que j'ai essayé de faire avec le modulo.