Creo que depende del idioma.
Si la longitud de la matriz es igual al índice más grande, entonces debe haber exactamente n elementos, donde n es el índice más grande yn es el tamaño. Eso significa que el índice 1 debe ser el primer elemento, el índice 2 … El índice n es el último elemento.
Así que solo crea un idioma y haz que comience como uno para el primer índice.
- Cómo ordenar una matriz de vectores de pares, es decir, vector <par v [N], en C ++
- ¿Qué algoritmo se puede usar para encontrar la clave para el cifrado y la clave de entrada en el formulario?
- ¿Cuándo debo usar un árbol de sufijos sobre una matriz de sufijos?
- ¿En qué se diferencia una tabla hash de una lista vinculada o una matriz?
- Optimización matemática: ¿Cuáles son las aplicaciones para el problema del vendedor ambulante?
¿Qué pasaría si quisiéramos crear una manera para que haya longitud <el índice más grande? De nuevo, esto se puede hacer.
En este lenguaje, puede tener dos valores nulos, uno que significa el final de una matriz, llamar a esto NULL, y uno que básicamente significa, nada aquí, llamar a NINGUNO
Aquí definimos la longitud de la matriz como el número de elementos que NO son NINGUNOS en la matriz.
Ponga algunos elementos que NO sean NINGUNO y algunos elementos NINGUNO, y listo.
Miremos esto un poco más antes de terminar, ¿por qué cero se usa convencionalmente como primer índice?
Bien mirando a C (el padre de muchos lenguajes de programación modernos de hoy), una matriz es realmente solo una variable que dice, ve a este lugar en la memoria.
En un nivel alto, cuando crea una matriz de tamaño 5,
Te dará alguna dirección de memoria, por ejemplo xxxx10
Y la memoria alrededor de esa área se verá así:
xxxx10: sin inicializar
xxxx11: sin inicializar
xxxx12: sin inicializar
xxxx13: sin inicializar
xxxx14: sin inicializar
xxxx15: carácter para indicar el final de la matriz
La variable almacenará xxxx10, así que cuando escribes:
variable [0], que es solo azúcar sintáctico, significa ir a la dirección que almacena la variable y agregarle 0, luego devolver el valor almacenado en esa dirección en la memoria. Ahora puede comprender por qué se usa cero y por qué debe declarar un tamaño durante la inicialización en muchos idiomas.
Entonces, si desea definir su propio idioma donde la longitud es igual al tamaño del índice más grande, o uno donde la longitud es menor, use las mismas nociones que discutimos antes.
Simplemente haga que la variable [n] sea azúcar sintáctica para obtener la dirección que almacena la variable, agregue (n-1) y devuelva el valor.
O simplemente no cuente elementos no inicializados en la longitud.