c# c++ vector deque

c#equivalente para c++ vector o deque



(3)

Considere System.Collections.Generic.List y otros de System.Collection.Generic que cumplen el mismo propósito que sus equivalentes de C++ .
Además, podría haber más contenedores para usted. Mira here

Estoy casi seguro de que esto debería ser un duplicado, pero busqué un tiempo y no pude encontrar la respuesta. ¿Qué debo usar en C # para reemplazar C ++ vector y deque eficientemente ? Es decir, necesito una estructura que admita la indexación directa de manera eficiente y que también admita la eliminación de uno o ambos extremos (según el caso del vector o el deque) nuevamente de manera eficiente.

En java por lo general uso ArrayList al menos para vector pero para C # Encontré esta fuente que dice: ArrayList resizes dynamically. As elements are added, it grows in capacity to accommodate them. It is most often used in older C# programs. ArrayList resizes dynamically. As elements are added, it grows in capacity to accommodate them. It is most often used in older C# programs. . Entonces, ¿cuál es la nueva forma de hacer esto? Y otra vez, ¿qué hago para el caso deque?


No hay un contenedor Deque incorporado, pero hay varias implementaciones disponibles.

Aquí hay una buena de Stephen Cleary . Esto proporciona operaciones O (1) para indexar y también para insertar al principio y adjuntar al final.

El C # equivalente a Vector es List<T> . El acceso indexado es O (1), pero la inserción o eliminación es O (N) (aparte de Insertar al final, que es O (1)).