annotate src/main/csharp/jp.ac.u-ryukyu.ie.cr/jungle/data/list/DefaultNode.cs @ 5:0428c8888abf

Comparison original java code
author Kazuma
date Tue, 05 Jul 2016 07:20:41 +0900
parents 79da77797f7e
children 4d08270a61c8
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
1 using UnityEngine;
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
2 using System.Collections;
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
3 using System;
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
4
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
5 public class DefaultNode<T> : Node<T> {
4
79da77797f7e list/List.cs fix, and not work addLast
Kazuma
parents: 2
diff changeset
6 private readonly T attribute;
79da77797f7e list/List.cs fix, and not work addLast
Kazuma
parents: 2
diff changeset
7 private readonly Node<T> next;
2
a3af05a061b4 fix , but not work.
Kazuma
parents: 0
diff changeset
8 //private TailNode<T> tailNode;
0
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
9
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
10 public DefaultNode(T attribute, Node<T> next) {
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
11 this.attribute = attribute;
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
12 this.next = next;
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
13 }
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
14
2
a3af05a061b4 fix , but not work.
Kazuma
parents: 0
diff changeset
15 // public DefaultNode(Node<T> attribute1, TailNode<T> tailNode)
a3af05a061b4 fix , but not work.
Kazuma
parents: 0
diff changeset
16 // {
a3af05a061b4 fix , but not work.
Kazuma
parents: 0
diff changeset
17 // this.attribute1 = attribute1;
a3af05a061b4 fix , but not work.
Kazuma
parents: 0
diff changeset
18 // this.tailNode = tailNode;
a3af05a061b4 fix , but not work.
Kazuma
parents: 0
diff changeset
19 // }
0
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
20
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
21
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
22 public Node<T> getNext() {
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
23 return next;
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
24 }
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
25
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
26 public T getAttribute() {
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
27 return attribute;
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
28 }
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
29
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
30 public Node<T> addLast(T attribute) {
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
31 Node<T> node = next.addLast(attribute);
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
32 return new DefaultNode<T>(this.attribute, node);
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
33 }
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
34
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
35 public Node<T> add(int currentNum, int num, T attribute) {
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
36 if (currentNum == num) {
5
0428c8888abf Comparison original java code
Kazuma
parents: 4
diff changeset
37 Node<T> newNode = new DefaultNode<T>(attribute, this.next);
0
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
38 return new DefaultNode<T>(this.attribute, newNode);
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
39 }
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
40
5
0428c8888abf Comparison original java code
Kazuma
parents: 4
diff changeset
41 Node<T> newNodes = next.add(currentNum + 1, num, attribute);
0428c8888abf Comparison original java code
Kazuma
parents: 4
diff changeset
42 if (newNodes == null)
0
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
43 return null;
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
44
5
0428c8888abf Comparison original java code
Kazuma
parents: 4
diff changeset
45 return new DefaultNode<T>(this.attribute, newNodes);
0
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
46 }
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
47
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
48 public Node<T> delete(int currentNum, int deleteNum) {
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
49 if (currentNum == deleteNum) {
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
50 return new DefaultNode<T> (this.attribute, this.next.getNext ());
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
51 }
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
52
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
53 Node<T> newNode = next.delete (currentNum + 1, deleteNum);
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
54 if (newNode == null) {
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
55 return null;
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
56 }
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
57 return new DefaultNode<T>(this.attribute, newNode);
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
58 }
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
59
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
60 public Node<T> replaceNode(int currentNum, int num, T attribute) {
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
61 if (currentNum == num) {
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
62 return new DefaultNode<T>(attribute, this.getNext());
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
63 }
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
64
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
65 Node<T> newNode = next.replaceNode(currentNum + 1, num, attribute);
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
66 if (newNode == null) {
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
67 return null;
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
68 }
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
69 return new DefaultNode<T>(this.attribute, newNode);
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
70 }
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
71
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
72
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
73 public int length() {
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
74 return next.length() + 1;
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
75 }
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
76
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
77 public T getAttribure()
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
78 {
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
79 throw new NotImplementedException();
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
80 }
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
81 }