Q11
Final
by Ryan Brown
HTML
<input type="textbox" value = "A" id='input' /><input type='button' value='Enqueue' onclick='addToQueue();' />
<br/>
<input type='button' value='Dequeue' onclick='removeFromQueue();' />
<br/>
<div id='output'></div>
JavaScript
function Node(content)
{
this.content = content;
this.next = null;
}
function Queue()
{
this._length = 0;
this.head = null;
}
Queue.prototype.enqueue = function(content)
{
var node = new Node(content),
currentNode = this.head;
if (!currentNode)
{
this.head = node;
this._length++;
return node;
}
while (currentNode.next)
{
currentNode = currentNode.next;
}
currentNode.next = node;
this._length++;
};
Queue.prototype.dequeue = function()
{
temp = this.head;
this._length--;
this.head = this.head.next;
return temp.content;
}
Queue.prototype.print = function()
{
var string = ' ';
var current = this.head;
while (current)
{
string += current.content + " | ";
current = current.next;
}
return string;
}
var queue = new Queue;
function addToQueue(){
var input = document.getElementById("input").value;
queue.enqueue(input);
document.getElementById("output").innerHTML = queue.print();
}
function removeFromQueue(){
var input = document.getElementById("input").value;
queue.dequeue(input);
document.getElementById("output").innerHTML = queue.print();
}