我希望能在Fortran中使用链表来保存未定义长度的数据。
我的设置如下:
TYPE linked_list
INTEGER :: data
TYPE(linked_list) :: next_item => NULL()
END TYPE
现在假设我创建了这样一个列表:
TYPE(LINKED_LIST) :: example_list
example_list%data =1
ALLOCATE(example_list%next_item)
example_list%next_item%data = 2
ALLOCATE(example_list%next_item%next_item)
example_list%next_item%next_item%data = 3
我的问题是,如果我执行以下操作:
DEALLOCATE(example_list)
所有嵌套级别的元素是否也会被释放,还是我需要遍历列表到最深处并从最深处向上进行释放?