Algoritmos, métodos de solución, comparación de su rendimiento - página 17
![MQL5 - Lenguaje de estrategias comerciales para el terminal de cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
En la tarea específica: índice => valor
CArrayList más rápido queCHashMap
CArrayList ocupa más del doble de espacio, también tiene menos reordenamientos cuando se añaden nuevos elementos(CArrayList tiene un factor de crecimiento 2, mientras queCHashMap en la implementación actual es de aproximadamente 1,2).
Y hay menos problemas al leer el resultado deCArrayList.
En esta tarea concreta: índice => valor
CArrayList es más rápido queCHashMap
CArrayList ocupa más del doble de espacio, también tiene menos reconstrucciones cuando se añaden nuevos elementos(CArrayList tiene un factor de crecimiento 2, mientras queCHashMap en la implementación actual es de aproximadamente 1,2).
Y hay menos problemas al leer el resultado deCArrayList.
Hay una propiedad mágica: Capacidad, que por cierto está ausente en CHashMap por alguna razón (lo cual es un grave descuido de los desarrolladores). Al especificarlo, evitamos la re-partición. Puedes especificarlo en esta tarea, así que no veo ningún problema.
En la tarea específica: índice => valor
CArrayList más rápido queCHashMap
CArrayList ocupa más del doble de espacio, también tiene menos reordenamientos cuando se añaden nuevos elementos(CArrayList tiene un factor de crecimiento 2, mientras queCHashMap en la implementación actual es de aproximadamente 1,2).
Y hay menos problemas al leer el resultado deCArrayList.
También es muy extraño que los coeficientes de escala sean diferentes. Será más difícil reordenar CHashMap que un CArrayList más sencillo.
Una versión aún más resumida:
Una versión aún más condensada:
Ahora vamos a utilizar
template<typename T>
Ahora vamos a utilizar
template<typename T>
Una versión aún más condensada:
El hombre sigue burlándose...
Una versión aún más resumida:
Has escrito una mierda. Esencialmente es una variante del acceso a un array por su índice. En realidad, los números de las transacciones son aleatorios, y todo tu ejemplo se derrumbará cuando tengas que resolver un problema real.
¿Para qué?
Bueno, hay funciones como reescribir un array, añadir una nueva línea... En la versión estándar no son universales, por lo que hay que reescribirlas todo el tiempo.
Así que se obtiene una plantilla de sus propias funciones pequeñas - una especie de
El hombre sigue burlándose...