27
|
1 // Data Segment
|
|
2 union Data {
|
100
|
3 struct Tree { /* ... 赤黒木の定義と同様 */ } tree;
|
|
4 struct Node { /* ... 赤黒木の定義と同様 */ } node;
|
27
|
5
|
|
6 /* for verification */
|
|
7 struct IterElem {
|
|
8 unsigned int val;
|
|
9 struct IterElem* next;
|
|
10 } iterElem;
|
|
11 struct Iterator {
|
|
12 struct Tree* tree;
|
|
13 struct Iterator* previousDepth;
|
|
14 struct IterElem* head;
|
|
15 struct IterElem* last;
|
|
16 unsigned int iteratedValue;
|
|
17 unsigned long iteratedPointDataNum;
|
|
18 void* iteratedPointHeap;
|
|
19 } iterator;
|
|
20 struct AkashaInfo {
|
|
21 unsigned int minHeight;
|
|
22 unsigned int maxHeight;
|
|
23 struct AkashaNode* akashaNode;
|
|
24 } akashaInfo;
|
|
25 struct AkashaNode {
|
|
26 unsigned int height;
|
|
27 struct Node* node;
|
|
28 struct AkashaNode* nextAkashaNode;
|
|
29 } akashaNode;
|
|
30 };
|
|
31
|