Demostrar que la capacidad de una lista se duplica cuando es necesario o cuando no hay espacio, esto se hace log(n) cuando n es el nmero de add.
El proceso de duplicar el valor de un vector cuando se necesita ms espacio puede provocar un
desperdicio considerable del mismo. Por ejemplo, un vector lleno con 1,000,000 de elementos cambia su tamao para dar cabida a 2,000,000 de elementos cuando se agregue uno nuevo, Esto deja a 999,999elementos sin usar. Los programadores pueden utilizar a resize() para controlar mejor el uso del espacio.1
Este mtodo utiliza el comparador predeterminado Comparer<T>.Default para el
tipo T para determinar el orden de los elementos de lista. El Comparer<T>.Default comprueba la propiedad tipo de si T implementa el IComparable<T> interfaz genrica y utiliza esa implementacin, si est disponible. Si no es as, Comparer<T>.Default Si tipo de comprobaciones T implementa el IComparable interfaz. Si tipo T no implementa ninguna de estas interfaces, Comparer<T>.Default produce una InvalidOperationException. Este mtodo usa la Array.Sort mtodo, que se aplica la ordenacin introspectiva como sigue: Si el tamao de la particin es menos de 16 elementos, utiliza un algoritmo de ordenacin de insercin. Si el nmero de particiones es superior a 2 * LogN, donde N es el intervalo de la matriz de entrada, utiliza un algoritmo de Heapsort. De lo contrario, utiliza un algoritmo Quicksort. Esta implementacin realiza a una ordenacin inestable; es decir, si dos elementos son iguales, su orden no puede conservarse. En contraste, una ordenacin estable conserva el orden de los elementos que son iguales. En promedio, este mtodo es una O (n Registro n) operacin, donde n es Count; en el peor caso es una O (n ^ 2) operacin.2
Referencias:
1. Harvey M.Deitel, P. J. (2003). De Como Programar en C++. Mxico: Pearson Educacin