Assignment 6

Queues

by F Fornos

HTML

<h4>
Enter Value of N:
</h4>
<input type="textbox" id="valueofN" value="10" size="13" />
<input type="button" value="Fill Q1" onClick="sizeofQ();" />

<br/>
<br/>
<input type="button" value="Find Sieve Primes" onClick="myQueue();" />

<p id='reportOut'></p>

JavaScript

var Node = function(_content) {
    this.next = null;
    this.previous = null;
    this.content = _content;
  }

  var Queue = function() {
    this.first = null;
    this.last = null;
    this.push = function(_content) {
      if (this.first == null) {
        this.first = new Node(_content);
        this.last = this.first;
        return this;
      }

      var addedNode = new Node(_content);
      addedNode.previous = this.last;
      this.last.next = addedNode;
      this.last = addedNode;
      return this;
    }

    this.deleteFirst = function() {
      if (this.first == null) {
        return null;
      }

      var valtoDelete = this.first.content;
      if (this.last == this.first) {
        this.first = null;
        this.last = null;
        return valtoDelete;
      } else {
        this.first = this.first.next;
        this.first.previous = null;
        return valtoDelete;
      }
    }

    this.deleteLast = function() {
      if (this.first == null) {

        return null;
      }
      var valtoDelete = this.last.content;
      if (this.last == this.first) {

        this.first = null;
        this.last = null;
        return a;
      } else {
        this.last = this.last.previous;
        this.last.next = null;
        return valtoDelete;
      }
    }

    this.toString = function() {
      var str = "";
      var node = this.first;
      if (this.first == null) {
        str = "Empty";
      }
      while (node != null) {
        str += node.content + "&nbsp";
        node = node.next;
      }
      return str;
    }

    this.countElements = function() {
      var countX = 0;
      var node = this.first;
      while (node != null) {
        node = node.next;
        countX = countX + 1;
      }
      return countX;
    }
  }

	var valtoHold = '';
  var iCount = 0;
  
  function myQueue() {
    if (qOne.countElements() > 0) {
      qTwo = new Queue();
      var holdIt = qOne.deleteFirst();
      valtoHold = holdIt;
     ...