Splay trees




A while ago patches to include splay trees into GLib was sent to this
list. It was said them that they should share more code with the
existing implementation of AVL trees.

I have done that now; following this message is a patch.

It implements general binary trees on which the AVL and the splay
trees are built.

Soeren Sandmann

begin 644 glib-sandmann-990516-0.patch.gz
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
2*1Y?VA+C4,7_!WSM5U^GJ```
`
end



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]