Mon hypothèse de numérotation partait sur l'idée d'une structure creuse. Si ce n'est pas le cas, on peut encore trouver des numérotations uniques, mais qui reviennent à avoir une structure en double tableau mise à plat. Genre :Est-ce plus coûteux ou pas qu'une double indirection ? Je n'en sais rien, seule une mesure permettrait de trancher.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 m = min(i,j); M = max(i,j); // à calculer d'un bloc, avec une fonction genre minmax) tableau[M*(M+1)/2 + m];
Ma session aux Microsoft TechDays 2013 : Développer en natif avec C++11.
Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage à la découverte d'un nouveau monde
Je donne des formations au C++ en entreprise, n'hésitez pas à me contacter.

utilise un vector a une dimension. tu as n(n+1)/2 combinaisons possible (c'est la taille de ton vector).
accede a l'element (i,j) ou i>=j par : j + i(i+1)/2
accede a l'element (i,j) ou i < j par l'acces a j,i
temps constant en acces, et tu as juste l'espace suffisant.

ca fait deux fois que je ne vois pas la seconde page d'un post, ca suffit!!! grrrr :[

ca doit dependre de tes options d'affichagechez moi ca fait deux pages.
hein ? hors sujet ? quissa??? non! pas moi!
Partager