Rudiments
avltreenode.h
1 // Copyright (c) 1999-2018 David Muse
2 // See the COPYING file for more information
3 
4  void insert(avltreenode<valuetype> *node,
5  avltreenode<valuetype> **treetop);
6  void detach(avltreenode<valuetype> **treetop);
7 
8  void adjustParentHeights(avltreenode<valuetype> *node);
9 
10  void balance(avltreenode<valuetype> **treetop);
11 
12  avltreenode<valuetype> *leftRightRotate(
13  avltreenode<valuetype> **treetop);
14  avltreenode<valuetype> *rightLeftRotate(
15  avltreenode<valuetype> **treetop);
16  avltreenode<valuetype> *leftRotate(
17  avltreenode<valuetype> **treetop);
18  avltreenode<valuetype> *rightRotate(
19  avltreenode<valuetype> **treetop);
20 
21  void sort();
22 
23  void setValue(valuetype value);
24  void setParent(avltreenode<valuetype> *node);
25  void setLeftChild(avltreenode<valuetype> *node);
26  void setRightChild(avltreenode<valuetype> *node);
27 
28  protected:
29  valuetype value;
30  avltreenode<valuetype> *parent;
33  uint8_t leftheight;
34  uint8_t rightheight;
35 
36  private:
37  void print(const char *name, uint16_t *indentlevel) const;
Definition: avltree.h:11