¿Por qué la longitud de una matriz siempre es mayor que el índice más grande de la matriz?

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.

¿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.

Consideremos una matriz de 5 elementos,

longitud = 5

matriz [5] = {1, 2, 3, 4, 5}

índice de cada elemento: {0, 1, 2, 3, 4}

Aquí puedes ver,

matriz [0] = 1

matriz [1] = 2

matriz [2] = 3

matriz [3] = 4

matriz [4] = 5

Como la indexación comienza con 0,

entonces, el índice del último elemento es 1 menor que la longitud de la matriz …

Porque todos los índices están basados ​​en 0. Entonces, una matriz de tamaño N tendrá índices 0, 1, 2, .. N -1 para un total de N índices.

Eso es practicamente todo.

Porque el índice de la matriz se inicia desde 0.
Allí para los índices de matriz con N elementos están:
0, 1, 2, 3, …, N-1

More Interesting

¿Debo aprender C ++ ahora que sé cómo implementar algoritmos básicos de ML en Python, o debería seguir con scikit-learn?

¿Hay un libro que enseñe algoritmos del nivel 0 a los algoritmos de codificación?

¿Cuáles son algunos algoritmos conocidos para encontrar una coincidencia perfecta en un gráfico bipartito?

Dos jugadores juegan el siguiente juego: hay N piedras en la mesa, el jugador puede tomar 1 o 2 piedras (si N mod 3 = 0), 1 o 3 (si N mod 3 = 1) y 1, 2 o 3 ( si N mod 3 = 2). ¿Cómo determino al ganador en el juego?

¿Cuál es la diferencia entre una matriz y una lista de matrices?

¿Cuáles son los principios fundamentales de los algoritmos en la programación de computadoras?

¿Cuál es la forma más rápida de encontrar el número original antes del descuento a mano? (números grandes)

¿Es adecuado usar un algoritmo de hash perceptual para desarrollar un motor de búsqueda de imágenes?

¿Qué libro sería mejor para aprender la estructura de datos para principiantes?

No tengo ningún talento en estructuras de datos y algoritmos, ¿debería abandonar mi título de CS?

¿Son los problemas NP completos también problemas NP difíciles? ¿Por qué?

Cómo escribir un programa en C para buscar los elementos usando el orden de fusión

¿Por qué usamos el árbol de búsqueda binario?

¿Cuál es el algoritmo utilizado por Google para la búsqueda por voz e imagen?

¿Qué es importante saber y estudiar para ser un excelente programador? ¿Es importante practicar programación competitiva?