En Fortran 90 es posible acceder a los valores de un arreglo unidimensional de forma arbitraria mediante el uso de otro arreglo que tenga los subíndices del primero:
C Fortran 77 ! Fortran 90
PROGRAM a_a_a PROGRAM asig_arreglo_arbitrario
INTEGER v(4) IMPLICIT NONE
REAL a(20), b(20) INTEGER, DIMENSION(4) :: v
DATA v /5,2,4,1/ REAL, DIMENSION(20) :: a, b
DATA b /1,2,3,4,5 .../ INTEGER i
DO 1, i = 1, 4 DATA v /5,2,4,1/
a(v(i)) = b(i) b = (/ (i, i=1, 4) /)
1 CONTINUE a(v) = b
END END