Red de conocimiento informático - Material del sitio web - ¿Cuál es la razón por la cual el índice de una matriz excede los límites de la matriz en PHP?

¿Cuál es la razón por la cual el índice de una matriz excede los límites de la matriz en PHP?

Solución para el índice que excede el límite de la matriz:

a.connected[i] = vertices[i+1];

Llamar al índice i+1. En su ejemplo, n es igual a 19: los índices válidos son [0-18].

Su bucle comenzará desde 0-18, pero en esta línea agregará 18 + 1 = 19, que es un índice no válido) Cambie la condición en el bucle a:

for (int i = 0; i

Asegúrate de que no se salga de los límites después de agregar.

Vértice [] vértices = nuevo Vértice[n]; int [] números = nuevo int[n*2]; AdjacencyList[] todos = nuevo AdjacencyList [n+1]; ){

System.out.println(v.value);

AdjacencyList a = new AdjacencyList(v);

for (int i = 0; i < n; i += 2)

{

if (números[i] == v.valor){

a.conectado[i] = vértices[i +1];//excepción de índice de matriz fuera de límites:19

else { a.connected[i] = v }

}

all [ 0] = a; //agrega la lista de adyacencia terminada a la matriz

}

Con n = 19 puedo obtener un error de índice fuera de límites en el punto indicado en el código. .No sé dónde me equivoqué porque todo todavía está en el rango de 19.

Vértices = lista de vértices [1-19], los números son matrices planas de aristas.