Skip to content

Added Stack Implementation #1

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 1 commit into from
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
69 changes: 69 additions & 0 deletions Data Structures/Stack/Stack.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
/* Stack!!
* A stack is exactly what it sounds like. An element gets added to the top of
* the stack and only the element on the top may be removed. This is an example
* of an array implementation of a Stack. So an element can only be added/removed
* from the end of the array.
*/

// Functions: push, pop, peek, view, length

//Creates a stack
var Stack = function () {
//The top of the Stack
this.top=0;
//The array representation of the stack
this.stack = {};

//Adds a value onto the end of the stack
this.push=function(value) {
this.stack[this.top]=value;
this.top++;
}

//Removes and returns the value at the end of the stack
this.pop = function(){
if(this.top === 0){
return "Stack is Empty";
}

this.top--;
var result = this.stack[this.top];
delete this.stack[this.top];
return result;
}

//Returns the size of the stack
this.size = function(){
return this.top;
}

//Returns the value at the end of the stack
this.peek = function(){
return this.stack[this.top-1];
}

//To see all the elements in the stack
this.view= function(){
for(var i=0;i<this.top;i++)
console.log(this.stack[i]);
}
}

//Implementation
var myStack = new Stack();

myStack.push(1);
myStack.push(5);
myStack.push(76);
myStack.push(69);
myStack.push(32);
myStack.push(54);
console.log(myStack.size());
console.log(myStack.peek());
console.log(myStack.pop());
console.log(myStack.peek());
console.log(myStack.pop());
console.log(myStack.peek());
myStack.push(55);
console.log(myStack.peek());
myStack.view();