example

by arosado417

HTML

Enter the value of n: <input type="number" id="myNumber" value="2">

<button onclick="myFunction()">Submit</button>

<p id = "myDiv"></p>

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 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
   };
...