(i, x, y, last)
| 69884 | |
| 69885 | // create a node and optionally link it with previous one (in a circular doubly linked list) |
| 69886 | function insertNode(i, x, y, last) { |
| 69887 | var p = new Node(i, x, y); |
| 69888 | |
| 69889 | if (!last) { |
| 69890 | p.prev = p; |
| 69891 | p.next = p; |
| 69892 | |
| 69893 | } else { |
| 69894 | p.next = last.next; |
| 69895 | p.prev = last; |
| 69896 | last.next.prev = p; |
| 69897 | last.next = p; |
| 69898 | } |
| 69899 | return p; |
| 69900 | } |
| 69901 | |
| 69902 | function removeNode(p) { |
| 69903 | p.next.prev = p.prev; |