C# Liste supprimer de la fin, vraiment O(n)?

J'ai lu quelques articles indiquant que la Liste.RemoveAt() est en O(n) fois.

Si je fais quelque chose comme:

var myList = new List<int>();

/* Add many ints to the list here. */

//Remove item at end of list:
myList.RemoveAt(myList.Count - 1); //Does this line run in O(n) time?

Retrait à partir de la fin de la liste devrait être O(1), il suffit de décrémenter la liste nombre de.

Dois-je écrire ma propre classe à avoir ce comportement, ou ne l'enlèvement de l'immobilisation à la fin d'un C# liste déjà effectuer en O(1) fois?

  • Je suis conscient que je pourrais en visibilité, et de voir, ou de l'utilisation .NET réflecteur. Le point de la création de cette question, est de créer une base de résultat pour ce que je pense est une question importante. Je n'ai pas réussi à trouver une réponse à cela dans ma propre recherche.
InformationsquelleAutor Olhovsky | 2011-03-22