Assigment 6
by Jeremy Boss
HTML
<html>
<head>
<script src="Queue.js"></script>
</head>
<body>
Enter value : <input type="number" id="myNumber" value="2">
<button onclick="myFunction()">Sieve</button>
<p id="myDiv"></p>
</body>
</html>
JavaScript
function myFunction() {
var x = document.getElementById("myNumber").value;
//document.getElementById("demo").innerHTML = x;
var firstQueue = createQueue(x)
var secondQueue = new Queue();
displayQueue(firstQueue, 0, 1)
displayQueue(secondQueue, 0, 2)
sieveAlgorithm(firstQueue, secondQueue)
}
function createQueue(n) {
var queue = new Queue();
for (i = 2; i <= n; i++)
queue.enqueue(i);
return queue;
}
function sieveAlgorithm(firstQueue, secondQueue) {
var counter = 1;
var lengthOfFirstQueue = firstQueue.getLength();
while (firstQueue.hasElements()) {
var firstElem = firstQueue.dequeue(0)
console.log("Element removed:" + firstElem)
secondQueue.enqueue(firstElem);
for (m = 0; m < lengthOfFirstQueue; m++) {
var value = firstQueue.currentElem(m);
console.log("Element Value:" + value)
if (value % firstElem == 0) {
console.log("Element removed:" + firstQueue.dequeue(m));
}
}
displayQueue(firstQueue, counter, 1)
displayQueue(secondQueue, counter, 2)
counter++;
}
}
function displayQueue(queue_list, itr, qnumber) {
var x = "";
if (qnumber == 1)
x = "Iteration " + itr + ": Q1 = ";
else
x = ",Q2 = "
for (j = 0; j < queue_list.getLength(); j++) {
x = x + queue_list.currentElem(j);
x = x + " ";
}
var header = document.createElement("h3");
var t;
if (qnumber == 1) {
var att = document.createAttribute("id");
att.value = "itr" + itr;
header.setAttributeNode(att);
t = document.createTextNode(x);
header.appendChild(t);
document.getElementById("myDiv").appendChild(header);
} else {
document.getElementById("itr" + itr).innerHTML = document.getElementById("itr" + itr).innerHTML + x;
}
}
function Queue() {
var a = [],
b = 0;
this.getLength = function() {
return a.length - b
};
this.isEmpty = function() {
return 0 == a.length
};
this.enqueue = function(value) {
a.push(value)
};
this.dequeue =...