Bonjour,
j'ai un tableau contenant plusieurs valeurs. A ce tableau est associé un autre tableau d'indices. Exemple à l'instant initiale :
je désire obtenir ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 val = [0.6 0.9 0.2] indices = [0 1 2]
puis j'ai une nouvelle valeur, disons 0.5. Son indice sera donc 3. Je désire obtenir ceci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 val = [0.2 0.6 0.9] indices = [2 0 1]
Si j'ai une autre valeur (disons encore 0.5) je désire
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 val = [0.2 0.5 0.6 0.9] indices = [2 3 0 1]
Je suis très intéressé par les temps de calcul (donc insertion ici) !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 val = [0.2 0.5 0.5 0.6 0.9] indices = [2 3 4 0 1] ou bien indices = [2 4 3 0 1] aucune importance
J'ai vu que les std::set tenaient compte de l'ordre mais sans doublons.
Je pense partir sur une solution avec des listes chaînées (les std::list). Est-ce une bonne idée ? Y a-t-il une fonction de la STL qui pourrait me donner à quel endroit je dois insérer ma nouvelle valeur ? J'aimerais pouvoir utiliser les optimisation de la STL, sinon je ferais une boucle...
Merci de vos conseils
Partager