-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathNode.as
51 lines (42 loc) · 1.04 KB
/
Node.as
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
package {
public class Node { // doubly linked list
public var node_data:*;
public var next_node:Node;
public var previous_node:Node;
public var isHead;
public function Node(node_content:*, head:Boolean = false) {
node_data=node_content;
next_node=null;
previous_node = null;
isHead = head;
}
public function get_node_data():* {
return node_data;
}
public function insert_prev(n:Node):void {
n.next_node=this;
this.previous_node = n;
}
public function insert_next(n:Node):void {
next_node=n;
n.previous_node = this;
//if(n.next_node == null){
var cursor:Node = n;
while (cursor.previous_node != null) {
//trace('push ' + cursor.previous_node.isHead);
if (cursor.previous_node.isHead){
n.next_node = cursor.previous_node;
}
cursor = cursor.previous_node;
// trace('lookback');
}
//}
}
public function get_next_node():Node {
return next_node;
}
public function get_previous_node():Node {
return previous_node;
}
}
}