JSFiddle - React, Tailwind, and code Playground
by wooozy
HTML
<!-- forked from Sample by Dr. Eaglin
https://jsfiddle.net/reaglin/0LLt6q55/ -->
<p id='reportout'></p>
JavaScript
var Node = function(_content) {
this.next = null;
this.last = null;
this.content = _content;
}
var Stack = function() {
this.head = null;
this.top = null;
this.push = function(_content) {
// No head - create one
if (this.head == null) {
this.head = new Node(_content);
this.top = this.head;
return this;
}
var addedNode = new Node(_content);
addedNode.last = this.top;
this.top.next = addedNode;
this.top = addedNode;
return this;
}
this.pop = function() {
if (this.head == null) {
return null;
}
var a = this.top.content;
if(this.top == this.head){
this.head = null;
this.top = null;
return a;
}else{
this.top = this.top.last;
this.top.next = null;
return a;
}
}
this.toString = function() {
var str = "";
var node = this.head;
if (this.head == null){
str = "Stack is Empty";
}else{
}
while (node != null) {
str += node.content + " ";
node = node.next;
}
return str;
}
this.countElements = function() {
var countX = 0;
var node = this.head;
while (node != null) {
node = node.next;
countX= countX+1;
}
return countX;
}
}
var StartCalc = '<input type="textbox" id="operatorIn" value="+" size="1"/><input type="button" value="Run Calculator" onClick="StartCalc();" />';
var deleteTop = '<input type="button" value="Remove Top Element" onClick="deleteTopElement();" />';
var AddStacks = '<input type="textbox" id="valueToAdd" value="10" size="3"/><input type="button" value="Add to Stack" onClick="addToStack();" />';
function addToStack() {
var valueToAdd = document.getElementById("valueToAdd").value;
report = "";
report += "Added:" + valueToAdd;
...