## avl-tree-stack

**avl-tree-stack**is a compiled Lisp function in `

`avl-tree.el`

'.(avl-tree-stack

__TREE__&optional

__REVERSE__)

Return an object that behaves like a sorted stack

of all elements of

__TREE__.

If

__REVERSE__is non-nil, the stack is sorted in reverse order.

(See also `avl-tree-stack-pop').

Note that any modification to

__TREE__*immediately* invalidates all

avl-tree-stacks created before the modification (in particular,

calling `avl-tree-stack-pop' will give unpredictable results).

Operations on these objects are significantly more efficient than

constructing a real stack with `avl-tree-flatten' and using

standard stack functions. As such, they can be useful in

implementing efficient algorithms of AVL trees. However, in cases

where mapping functions `avl-tree-mapc', `avl-tree-mapcar' or

`avl-tree-mapf' would be sufficient, it is better to use one of

those instead.