Проще всего, если вы создадите пользовательский тип с вашими элементами данных и указателем на следующий элемент.Это предполагает односвязный список.Например,
type MyList_type
integer :: FirstItem
real :: SecondItem
etc
type (MyList_type), pointer :: next_ptr => null ()
end type MyList_type
Затем создайте первого члена с помощью «allocate».После этого вы пишете код для обхода списка, используя next_ptr для просмотра списка.Используйте «связанную» встроенную функцию, чтобы проверить, определено ли еще значение next_ptr, или вместо этого вы достигли конца списка.
Если вы пишете обычную последовательную программу на Фортране, то без блокировки / без ожиданияНе ошибка.Если вы пишете многопоточную / параллельную программу, то непротиворечивый доступ к переменным является проблемой.
Вот еще несколько примеров: http://fortranwiki.org/fortran/show/Linked+list. Еще лучше, связанные списки в Фортране четко объяснены в книге «Объяснение Фортрана 90/95» Меткалфа и Рейда.