Queue2

by dhizzybusy

HTML

<h1>
<Center>Queue</Center>
</h1>
<br><br/>


<input type="textbox" id="lastNumber" Value="" />
<input type="button" id="createQueue" value="Create Q1" onClick="createQueue();" />
<input type="button" id="Sieve" value="Sieve" onClick="SieveQueue();" />


<div id="output">

</div>
<div id="output2">

</div>

JavaScript

//global variable 
var d = "	";
var q1 = "	";
var q2 =" ";
var output=[];
var queue1count=0;
// Linked List
function Node(data) {
  this.data = data;
  this.next = null;
}

// Queue implementation using Link List

function Queue() {
  this.head = null;
  this.tail = null;
}

Queue.prototype.enqueue = function(data) {
  var newNode = new Node(data);

  if (this.head === null) {
    this.head = newNode;
    this.tail = newNode;
  } else {
    this.tail.next = newNode;
    this.tail = newNode;
  }
}

Queue.prototype.dequeue = function() {
  var newNode;
  if (this.head !== null) {
    newNode = this.head.data;
    this.head = this.head.next;
  }
  return newNode;
}

Queue.prototype.print = function() {
  var curr = this.head;
  var str="";
  while (curr) {
    //console.log(curr.data);
     str+= " "+ JSON.stringify(curr.data)+" ";
     queue1count++;
    curr = curr.next;
  }
  return str;
}
//Implementation of function 


var queue = new Queue();
var queue2= new Queue();

function clearDisplay()
{
 //Global string d is used to hold display
d = " ";

// The div element named output is used to display output
document.getElementById("output").innerHTML = d
}



function createQueue(){
clearDisplay();

var lastNumber =(document.getElementById("lastNumber").value);
for(a=2;a <=lastNumber;a++){
queue.enqueue(a);
}
q1="Q1: "+ queue.print();
q2="Q2: "
output[0]=q1+"</br>" +q2;
document.getElementById("output").innerHTML =output;

var X=queue.dequeue();
queue2.enqueue(X);

var temp=[];
var count=0;
var curr= queue.head
var p=1;


while(curr){
temp[count]=queue.dequeue();
if (temp[count]% X ===0)
{

	curr=curr.next;
}
else{
queue.enqueue(temp[count]);

}
console.log(queue.print());
curr=curr.next;

}
}



function SieveQueue(){
clearDisplay();
var curr=queue.head;
var a=1;
while(curr)
{
output[a]="</br>"+	"Iteration :	"+a	+"	Q1:	"+queue.print()+",	Q2:	"+queue2.print() +"</br>"		;
document.getElementById("output").innerHTML...