Queue_Example
by davidjb95
HTML
Queue 1<p id='output1'></p>
Queue 2<p id='output2'></p>
<input type="textbox" id="QueueNumber" Value="input a number" />
<input type="button" id="MakeQueue" value="Make a queue" onCLick="makeQueue();" />
<input type="button" id="NextQueue" value="Next Step" onCLick="findPrime();" />
JavaScript
var Node = function(_content) {
this.next = null;
this.last = null;
this.content = _content;
}
function makeQueue() {
var num1 = document.getElementById("QueueNumber").value;
var maxNum = parseFloat(num1);
for(i = 2; i <= maxNum; i++){
queue.enqueue(i);
document.getElementById('output1').innerHTML = queue.toString();
}
//findPrime();
}
function findPrime() {
var length = queue.length;
var divider = queue.bottom.content;
queue.dequeue();
queue2.enqueue(divider);
for (i = 1; i < length; i ++){
var divide = queue.bottom.content;
if(divide % divider == 0){
queue.dequeue();
} else {
queue.dequeue();
queue.enqueue(divide);
}
}
document.getElementById('output1').innerHTML = queue.toString();
document.getElementById('output2').innerHTML = queue2.toString();
}
var Queue = function() {
this.bottom = null;
this.top = null;
this.length = 1;
this.enqueue = function(_content){
if (this.bottom == null) {
this.bottom = new Node(_content);
this.top = this.bottom;
return this;
}
var addedNode = new Node(_content);
addedNode.last = this.top; // pointer to previous node
this.top.next = addedNode; // current top points to new
this.top = addedNode; // which becomes new top
this.length++;
return this;
}
this.dequeue = function() {
this.bottom = this.bottom.next;
if(this.length >1){
this.length--;
}
}
this.toString = function() {
var str = "";
node = this.bottom;
while (node != null) {
str += node.content + ":";
node = node.next;
}
return str;
}
}
var queue = new Queue();
var queue2 = new Queue();
document.getElementById('output1').innerHTML = queue.toString();