Spring 2017 Exam Question 11

by Nyle Anderson

HTML

<input type="textbox" id='input' /><input type='button' value='Enqueue' onclick='addToQueue();' />
<br/>
<input type='button' value='Dequeue' onclick='removeFromQueue();' />
<br/>
<div id='output'></div>

JavaScript

function QueueFromStacks() {

// You can use arrays or stacks. You may only use push and pop functions
// to implement the entire queue - so any objects you use here must be 
// done using only those 2 functions. Note - the Javascript array supports
// both push and pop.

   this.enqueue = function(value) {
      alert('This will add value to queue, implement and remove this line of code');
   }
   
   this.dequeue = function(value) {
      alert('This will remove from the queue, implement and remove this line of code')
   }
   
   this.print = function() {
      var s =  "This will return a string that is the contents of the Queue <br/>";
      s += "you will replace this with the contents of the Queue";
      return s;
   }
}

var q = new QueueFromStacks();

function addToQueue() {
  var input = document.getElementById('input').value;
  q.enqueue(input);  
  document.getElementById('output').innerHTML = q.print();
}

function removeFromQueue() {
  q.dequeue();  
  document.getElementById('output').innerHTML = q.print();
}