remove(3f) - [M_list] remove entry from an allocatable array at specified position
Synopsis
Description
Options
Examples
Author
subroutine remove(list,place)character(len=:),intent(inout)|doubleprecision|real|integer :: list(:)
Remove a value from an allocatable array at the specified index. The array is assumed to be sorted in descending order. It may be of type CHARACTER, DOUBLEPRECISION, REAL, or INTEGER.
list is the list array. PLACE is the subscript for the entry that should be removed
Results:Sample program
program demo_remove use M_sort, only : sort_shell use M_list, only : locate, remove implicit none character(len=:),allocatable :: arr(:) integer :: i integer :: endarr=[character(len=20) :: , ZZZ, Z, aaa, b, b, ab, bb, xxx ] ! make sure sorted in descending order call sort_shell(arr,order=d)
end=size(arr) write(*,("SIZE=",i0,1x,*(a,",")))end,(trim(arr(i)),i=1,end) call remove(arr,1) end=size(arr) write(*,("SIZE=",i0,1x,*(a,",")))end,(trim(arr(i)),i=1,end) call remove(arr,4) end=size(arr) write(*,("SIZE=",i0,1x,*(a,",")))end,(trim(arr(i)),i=1,end)
end program demo_remove
Expected outputSIZE=9 xxx,bb,b,b,ab,aaa,ZZZ,Z,, SIZE=8 bb,b,b,ab,aaa,ZZZ,Z,, SIZE=7 bb,b,b,aaa,ZZZ,Z,,
1989,2017 John S. Urban
remove (3) | June 28, 2019 |