Queue

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();" />

<div id="output">


</div>

JavaScript

//global variable 
var d = "	";
var q1 = "	";
var q2 =" ";

// 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)+" ";
    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 = "";
}



function createQueue(){
clearDisplay();

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

var X= queue.dequeue();
queue2.enqueue(X);
var curr= queue.head
while (curr){
var temp =queue.dequeue(); 
if (temp % X=== 0){
		
	curr=curr.next
}
else{
queue.enqueue(temp);
q1="Q1: "+queue.print();
q2= "Q2: " + queue2.print();
document.getElementById("output").innerHTML = q1+q2;

}

curr=curr.next;
}

}