CLU példaprogramok

 
Bináris fa inorder bejárása

Részlet egy bináris fa implementációból (önállóan nem fordítható).
A fa reprezentációja persze rekurzív, s erre láthatunk egz igen elegáns inorder bejáró iterátort.
[iter; record; variant] (CLU forrás)


node=record[val:t,left,right:olist[t]]
rep=variant[some:node,empty:null]

inorder=iter(s:cvt) yields (t)
  tagcase s
     tag empty: return
     tag some(n:node):
        for e:t in inorder(n.left) do yield(e) end
        yield(n.val)
        for e:t in inorder(b.right) do yield(e) end
  end
end inorder