tree_print(3f) - [M_sort] print a sorted integer tree generated by
tree_insert(3f)
(LICENSE:MIT)
subroutine tree_print(t)
type(tree_node), pointer :: t
Print a tree of sorted integers created by insert_tree(3f).
Copyright (c) 1990 by Walter S. Brainerd, Charles H. Goldberg, and Jeanne C. Adams. This code may be copied and used without restriction as long as this notice is retained.
sample program
program tree_sort
use M_sort, only : tree_node, tree_insert, tree_print
implicit none
type(tree_node), pointer :: t ! A tree
integer :: number
integer :: ios
nullify(t) ! Start with empty tree
infinite: do
read (*,*,iostat=ios) number
if(ios.ne.0)exit infinite
call tree_insert(t,number) ! Put next number in tree
enddo infinite
call tree_print(t) ! Print nodes of tree in infix order
end program tree_sort
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tree_node), | pointer | :: | t |
recursive subroutine tree_print(t) implicit none ! ident_62="@(#) M_sort tree_print(3f)" type (tree_node), pointer :: t ! a tree if (associated (t)) then call tree_print (t % left) print *, t % value call tree_print (t % right) endif end subroutine tree_print