annotate Main/jungle-main/data/treemap/EmptyNode.cs @ 35:f2ea780b3e80

fix
author Kazuma Takeda
date Wed, 22 Feb 2017 16:30:19 +0900
parents 1f99e150f336
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
35
Kazuma Takeda
parents: 20
diff changeset
1 using System.Collections.Generic;
20
1f99e150f336 fix folder and add Object Mapper.
Kazuma Takeda
parents:
diff changeset
2
35
Kazuma Takeda
parents: 20
diff changeset
3 public class EmptyNode<K, V> : TreeMapNode<K, V>
Kazuma Takeda
parents: 20
diff changeset
4 {
20
1f99e150f336 fix folder and add Object Mapper.
Kazuma Takeda
parents:
diff changeset
5 //static V values;
1f99e150f336 fix folder and add Object Mapper.
Kazuma Takeda
parents:
diff changeset
6 // Use this for initialization
35
Kazuma Takeda
parents: 20
diff changeset
7 public EmptyNode()
Kazuma Takeda
parents: 20
diff changeset
8 : base(default(K), default(V))
20
1f99e150f336 fix folder and add Object Mapper.
Kazuma Takeda
parents:
diff changeset
9 {
1f99e150f336 fix folder and add Object Mapper.
Kazuma Takeda
parents:
diff changeset
10 }
1f99e150f336 fix folder and add Object Mapper.
Kazuma Takeda
parents:
diff changeset
11
35
Kazuma Takeda
parents: 20
diff changeset
12 public EmptyNode(K key)
Kazuma Takeda
parents: 20
diff changeset
13 : base(key, default(V))
20
1f99e150f336 fix folder and add Object Mapper.
Kazuma Takeda
parents:
diff changeset
14 {
1f99e150f336 fix folder and add Object Mapper.
Kazuma Takeda
parents:
diff changeset
15 }
1f99e150f336 fix folder and add Object Mapper.
Kazuma Takeda
parents:
diff changeset
16
35
Kazuma Takeda
parents: 20
diff changeset
17 public override TreeMapNode<K, V> lefts()
Kazuma Takeda
parents: 20
diff changeset
18 {
Kazuma Takeda
parents: 20
diff changeset
19 return new EmptyNode<K, V>();
20
1f99e150f336 fix folder and add Object Mapper.
Kazuma Takeda
parents:
diff changeset
20 }
1f99e150f336 fix folder and add Object Mapper.
Kazuma Takeda
parents:
diff changeset
21
35
Kazuma Takeda
parents: 20
diff changeset
22 public override TreeMapNode<K, V> rights()
Kazuma Takeda
parents: 20
diff changeset
23 {
Kazuma Takeda
parents: 20
diff changeset
24 return new EmptyNode<K, V>();
20
1f99e150f336 fix folder and add Object Mapper.
Kazuma Takeda
parents:
diff changeset
25 }
1f99e150f336 fix folder and add Object Mapper.
Kazuma Takeda
parents:
diff changeset
26
35
Kazuma Takeda
parents: 20
diff changeset
27 public override bool isNotEmpty()
Kazuma Takeda
parents: 20
diff changeset
28 {
20
1f99e150f336 fix folder and add Object Mapper.
Kazuma Takeda
parents:
diff changeset
29 return false;
1f99e150f336 fix folder and add Object Mapper.
Kazuma Takeda
parents:
diff changeset
30 }
1f99e150f336 fix folder and add Object Mapper.
Kazuma Takeda
parents:
diff changeset
31
35
Kazuma Takeda
parents: 20
diff changeset
32 public override TreeMapNode<K, V> createNode(K key, V value, TreeMapNode<K, V> left, TreeMapNode<K, V> right)
Kazuma Takeda
parents: 20
diff changeset
33 {
Kazuma Takeda
parents: 20
diff changeset
34 return new RedNode<K, V>(key, value, new EmptyNode<K, V>(), new EmptyNode<K, V>());
20
1f99e150f336 fix folder and add Object Mapper.
Kazuma Takeda
parents:
diff changeset
35 }
1f99e150f336 fix folder and add Object Mapper.
Kazuma Takeda
parents:
diff changeset
36
35
Kazuma Takeda
parents: 20
diff changeset
37 public TreeMapNode<K, V> put(K k, V value)
Kazuma Takeda
parents: 20
diff changeset
38 {
Kazuma Takeda
parents: 20
diff changeset
39 return new RedNode<K, V>(k, value, new EmptyNode<K, V>(), new EmptyNode<K, V>());
20
1f99e150f336 fix folder and add Object Mapper.
Kazuma Takeda
parents:
diff changeset
40 }
1f99e150f336 fix folder and add Object Mapper.
Kazuma Takeda
parents:
diff changeset
41
1f99e150f336 fix folder and add Object Mapper.
Kazuma Takeda
parents:
diff changeset
42 //I don't know only Comparator method.
35
Kazuma Takeda
parents: 20
diff changeset
43 public override rebuildNode<K, V> replaceNode(TreeMapNode<K, V> parent, Comparer<K> ctr)
Kazuma Takeda
parents: 20
diff changeset
44 { // not use method
Kazuma Takeda
parents: 20
diff changeset
45 return new rebuildNode<K, V>(false, this);
20
1f99e150f336 fix folder and add Object Mapper.
Kazuma Takeda
parents:
diff changeset
46 }
1f99e150f336 fix folder and add Object Mapper.
Kazuma Takeda
parents:
diff changeset
47
35
Kazuma Takeda
parents: 20
diff changeset
48 public override rebuildNode<K, V> deleteNode()
Kazuma Takeda
parents: 20
diff changeset
49 {
Kazuma Takeda
parents: 20
diff changeset
50 return new rebuildNode<K, V>(false, this);
20
1f99e150f336 fix folder and add Object Mapper.
Kazuma Takeda
parents:
diff changeset
51 }
35
Kazuma Takeda
parents: 20
diff changeset
52
Kazuma Takeda
parents: 20
diff changeset
53 public override TreeMapNode<K, V> insBalance()
Kazuma Takeda
parents: 20
diff changeset
54 {
20
1f99e150f336 fix folder and add Object Mapper.
Kazuma Takeda
parents:
diff changeset
55 return insBalance();
1f99e150f336 fix folder and add Object Mapper.
Kazuma Takeda
parents:
diff changeset
56 }
1f99e150f336 fix folder and add Object Mapper.
Kazuma Takeda
parents:
diff changeset
57
35
Kazuma Takeda
parents: 20
diff changeset
58 public override Rotate checkRotate(Rotate side)
Kazuma Takeda
parents: 20
diff changeset
59 {
20
1f99e150f336 fix folder and add Object Mapper.
Kazuma Takeda
parents:
diff changeset
60 return Rotate.N;
1f99e150f336 fix folder and add Object Mapper.
Kazuma Takeda
parents:
diff changeset
61 }
1f99e150f336 fix folder and add Object Mapper.
Kazuma Takeda
parents:
diff changeset
62
35
Kazuma Takeda
parents: 20
diff changeset
63 public override bool isRed()
Kazuma Takeda
parents: 20
diff changeset
64 {
20
1f99e150f336 fix folder and add Object Mapper.
Kazuma Takeda
parents:
diff changeset
65 return false;
1f99e150f336 fix folder and add Object Mapper.
Kazuma Takeda
parents:
diff changeset
66 }
1f99e150f336 fix folder and add Object Mapper.
Kazuma Takeda
parents:
diff changeset
67
35
Kazuma Takeda
parents: 20
diff changeset
68 public override int checkDepth(int count, int minCount)
Kazuma Takeda
parents: 20
diff changeset
69 { // test method
Kazuma Takeda
parents: 20
diff changeset
70 if (count < minCount || minCount == 0)
Kazuma Takeda
parents: 20
diff changeset
71 {
20
1f99e150f336 fix folder and add Object Mapper.
Kazuma Takeda
parents:
diff changeset
72 minCount = count;
1f99e150f336 fix folder and add Object Mapper.
Kazuma Takeda
parents:
diff changeset
73 }
35
Kazuma Takeda
parents: 20
diff changeset
74 //c# is there assert??
Kazuma Takeda
parents: 20
diff changeset
75 //Assert.assertTrue(count <= 2 * minCount);
20
1f99e150f336 fix folder and add Object Mapper.
Kazuma Takeda
parents:
diff changeset
76 return minCount;
1f99e150f336 fix folder and add Object Mapper.
Kazuma Takeda
parents:
diff changeset
77 }
1f99e150f336 fix folder and add Object Mapper.
Kazuma Takeda
parents:
diff changeset
78
1f99e150f336 fix folder and add Object Mapper.
Kazuma Takeda
parents:
diff changeset
79 }