tree_print Subroutine

public recursive subroutine tree_print(t)

NAME

tree_print(3f) - [M_sort] print a sorted integer tree generated by
                 tree_insert(3f)
(LICENSE:MIT)

SYNOPSIS

subroutine tree_print(t)

type(tree_node), pointer :: t

DESCRIPTION

Print a tree of sorted integers created by insert_tree(3f).

AUTHOR

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.

EXAMPLE

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

Arguments

Type IntentOptional Attributes Name
type(tree_node), pointer :: t

Source Code

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