JSFiddle - React, Tailwind, and code Playground

by zazagalaxy

HTML

<br/><br/>
<input type="textbox" id="value" />
<input type="button" value="Start The Queue" onclick="startQ();" /><br/>
<input type="button" value="Enqueue" onclick="DoEnqueue();" />
<input type="button" value="Dequeue" onclick="DoDequeue();" />

<br/>

<div id="output"></div>

JavaScript

//var queue = new Queue();

var Node = function(_data) {
  this.next = null;
  this.last = null;
  this.data = _data;
}


function Queue() {
  this.top = null;
  this.bottom = null;
  this.length = 1;

  this.enqueue = function(_data) {
    if (this.bottom == null) {
      this.bottom = new Node(_data);
      this.top = this.bottom;
      //this.length++;
      return this;
    } else {
      var addedNode = new Node(_data);
      addedNode.last = this.top;
      this.top.next = addedNode;
      this.top = addedNode;
      this.length += 1;
      return this;
    }

  }

  this.dequeue = function() {
    var v;
    if (this.bottom == null) {
      alert("The Stack is Empty");
      return null;
    }
    if (this.bottom === this.top) {
      v = this.top;
      this.top = null;
      this.bottom = null;
      return v.data;
    } else {
      v = this.bottom;
      this.bottom = this.bottom.next;
      this.top.last = null;
      length -= 1;
      return v.data;
    }
  }
  this.toString = function() {
    var str = "";
    var node = this.bottom;
    while (node != null) {
      str += node.data + ",";
      node = node.next;
    }
    return str;
  }
}

	var queue = new Queue();
	//var Q1 = new Queue();
  //var Q2 = new Queue();
  	var Q1 = new Queue();
  var Q2 = new Queue();
function DoEnqueue() {
  var input = document.getElementById("value").value;
  Q1.enqueue(input);
  document.getElementById("output").innerHTML = Q1.toString();
}

function DoDequeue() {
  var a = Q1.dequeue();
  document.getElementById("output").innerHTML = Q1.toString();

}

function DoSieve() {
	
  var input = parseInt(document.getElementById("value").value);
  for (var i = 2; i <= input; i++) {
    Q1.enqueue(i);
  }

  document.getElementById("output").innerHTML = Q1.toString();

  DoSieveStep(Q1);
}

function DoSieveStep() {
  var counter = 0;
  var l = Q1.length;
  alert(Q1.toString());
  while (Q1 != null) {
    var v = parseInt(Q1.dequeue());
    alert("First Element is Removed:...