Red de conocimiento informático - Aprendizaje de programación - En Java, puedo compilar el montón para implementar la cola de prioridad, pero cuando lo ejecuto, se producirá un error de matriz fuera de límites. ¿Qué pasó?

En Java, puedo compilar el montón para implementar la cola de prioridad, pero cuando lo ejecuto, se producirá un error de matriz fuera de límites. ¿Qué pasó?

Consulte este método de MaxHeapify. ¿Hay algún problema con la lógica?

if (l lt; = heapsize amp ampa[l] gt; A[i])

max = l;

Si la longitud de la matriz a es 8. Cuando I es 4 y L es 8, juzga que A[8] gt; la matriz aquí está fuera de límites.