Zitat von Henri Gourvest <[EMAIL PROTECTED]>: > 2008/8/8 Mattias Gärtner <[EMAIL PROTECTED]>: > > Correct me if I'm wrong, but this seems not very comfortable. > > - No custom sort function (unless you override) > ... > > > - A node does not know its parent. So with First or Search you can not get > to > > the next node. You need always an iterator (iterators should be optional). > it is your own opinion, personnaly I need more than one cursor on the tree.
I meant: I can not use the First to get to the second. I must create an iterator. The current avl tree has a 'parent' of each node, so you can have as many 'cursors' as you want without iterators. I know this costs an extra pointer memory per node, which might be bad in some cases. But I was talking about comfort. > > - no function to resort the tree > the tree is autobalanced .. with a compare function. If you want to change the compare function, you need to create a new avl tree and add manually all nodes. The current FPC avl tree has a simple property for the compare function which can be set any time. > > - no functions to reorder nodes with same keys > it is useless, you can do everything in the same compare function if > you have more than one key. I meant: For example: two different items with Compare(Item1,Item2)=0. The order between those two is free and the avl tree does not care. So I can reorder them. This is needed in some algorithms. You can work around this, but it is comfortable to have the ability. > > - You have to override to actually store some data > > You are describing an avl tree, it do exactly what it expected to do > regardless of data type. I meant the default tree can not even store a pointer. You have to create a descendant. > it is usefull for me, I hope it will be usefull for someoneelse. No offense meant. I just pointed out, that it misses some nice-to-haves. > > - it's not 64bit save > 8-| why do you say that ? Because of this: AVL_MAX_DEPTH = sizeof(longint) * 8; Mattias _______________________________________________ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel