comparison final_pre/src/rbtreeContext.h @ 7:28f900230c26

add final_pre
author ryokka
date Mon, 19 Feb 2018 23:32:24 +0900
parents
children
comparison
equal deleted inserted replaced
6:d927f6b3d2b3 7:28f900230c26
1 // DataSegments for Red-Black Tree
2 union Data {
3 struct Comparable { // interface
4 enum Code compare;
5 union Data* data;
6 } compare;
7 struct Count {
8 enum Code next;
9 long i;
10 } count;
11 struct Tree {
12 enum Code next;
13 struct Node* root;
14 struct Node* current;
15 struct Node* deleted;
16 int result;
17 } tree;
18 struct Node {
19 // need to tree
20 enum Code next;
21 int key; // comparable data segment
22 int value;
23 struct Node* left;
24 struct Node* right;
25 // need to balancing
26 enum Color {
27 Red,
28 Black,
29 } color;
30 } node;
31 struct Allocate {
32 enum Code next;
33 long size;
34 } allocate;
35 };
36
37
38 // Meta DataSegment
39 struct Context {
40 enum Code next;
41 int codeNum;
42 __code (**code) (struct Context*);
43 void* heapStart;
44 void* heap;
45 long heapLimit;
46 int dataNum;
47 stack_ptr code_stack;
48 stack_ptr node_stack;
49 union Data **data;
50 };