De nombreuses questions suggèrent qu'il faut toujours utiliser un vecteur, mais il me semble qu'une liste serait plus adaptée au scénario dans lequel nous devons stocker "les n derniers éléments".
Par exemple, disons que nous devons stocker les 5 derniers éléments vus : Itération 0 :
3,24,51,62,37,
Ensuite, à chaque itération, l'élément à l'indice 0 est supprimé, et le nouvel élément est ajouté à la fin :
Itération 1 :
24,51,62,37,8
Itération 2 :
51,62,37,8,12
Il semble que pour ce cas d'utilisation, pour un vecteur, la complexité sera O(n), puisque nous devrions copier n éléments, mais dans une liste, elle devrait être O(1), puisque nous ne faisons que couper la tête, et ajouter à la queue à chaque itération.
Ma compréhension est-elle correcte ? Est-ce le comportement réel d'une std::list ?