Iteration
by vzufelt
HTML
<h2>
Assignment 6
</h2>
<input type="textbox" id="value" value="">
<br/>
<input type="button" value="Enter" onclick="calculate()" />
<br/><br/>
<p id="total">
</p>
<p id="output" class="output">
</p>
<div id="error">
</div>
JavaScript
function Queue() {
this.head = null;
this.tail = null;
this.queue = 0;
this.insert = function(data) {
var node = {
data: data,
next: null,
prev: null
}
if (this.queue == 0) {
this.head = node;
this.tail = node;
} else {
this.tail.next = node;
node.prev = this.tail;
this.tail = node;
}
this.queue++;
}
this.delete = function() {
if (this.queue == 0) {
document.getElementById("output").innerHTML = "Queue is empty.";
return null;
}
var deletedElement = this.head.data;
this.head = this.head.next;
this.head.prev = null;
this.queue--;
if (this.queue == 0) {
this.clear();
}
return deletedElement;
}
this.deleteByFactor = function(element) {
var deleted = false;
var node = this.head;
while (node != null) {
if (node.data % element == 0) {
this.deleteByElement(node.data);
deleted = true;
}
node = node.next;
}
return deleted;
}
this.isEmpty = function() {
return this.queue == 0;
}
this.size = function() {
return this.queue;
}
this.clear = function() {
this.head = null;
this.tail = null;
this.queue = 0;
}
this.print = function() {
var node = this.head;
var queue = '';
while (node != null) {
queue = queue + node.data + ", ";
node = node.next;
}
return queue;
}
this.deleteByElement = function(element) {
var node = this.head;
while (node != null) {
if (node.data == element) {
var bef = node.prev;
if (bef == null) {
this.head = node.next;
} else {
bef.next = node.next;
}
var aft = node.next;
if (aft == null) {
this.tail = node.prev;
} else {
aft.prev = node.prev;
}
this.queue--;
return true;
}
node = node.next;
}
return false;
}
}
function...