Rudiments: /home/dmuse/temp/rudiments/include/rudiments/private/avltreenode.h Source File

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;
31 avltreenode<valuetype> *left;
32 avltreenode<valuetype> *right;
33 uint8_t leftheight;
34 uint8_t rightheight;
35
36 private:
37 void print(const char *name, uint16_t *indentlevel) const;
avltreenode
Definition: avltree.h:11