assignment 4

by austinmillett

HTML

<input type="button" id="createList" value="Create List" onClick="createList(n);" /><br><br>

Name of new node: <input type="textbox" id="v" value="Node" />

<input type="button" value="Add Node" onclick="addNode()"/>

<div id="output">

</div>

JavaScript

var list = null;

function createList() {
  var value = document.getElementById("v").value;
  list = new List(value);
  document.getElementById("output").innerHTML = aList.print();
}

function LinkedList() {
this.head = null;
this.tail = null;
this.length = 0;
}

function Node() {
this.next = null;
this.prev = null;
this.content = null;
}

LinkedList.prototype.add = function(content) {
var node = new Node(); node.content = content;

if (this.head == null){
this.head = node; this.length = 1;
return node;
} 

if (this.tail == null) {
this.tail = node;
this.tail.prev = this.head;
this.head.next = this.tail;
this.length = 2;
return node;
}

this.tail.next = node;
node.prev = this.tail;
this.tail = node;
this.length ++;
return node;

}

LinkedList.prototype.print = function() {
if (this.head == null) return "Empty List";
var s = "";
var node = this.head;
while (node != null) {
s += node.content + "   ";
node = node.next;
}
return s;
}

var aList = new LinkedList();

function addNode() {
var c = document.getElementById("v").value;
aList.add(c);
document.getElementById("output").innerHTML=aList.print();
}