//Stacks
//google
//udemy.com
//youtube
//Arrays
//Lnked Lists
//Queues
// head tail
// Matt -- Joy -- Samir -- Pavel
//Arrays
//Linked Lists
class Node{
constructor(value){
this.value = value;
this.next= null;
}
}
class Stack{
constructor(){
this.top = null;
this.bottom = null;
this.length = 0;
}
peek(){
return this.top;
}
push(value){
const newNode = new Node(value);
if(this.length == 0)
{
this.top = newNode;
this.bottom = newNode;
}
else
{
const holdingPointer = this.top;
this.top = newNode;
this.top.next = holdingPointer;
}
this.length++;
return this;
}
pop(){
if(!this.top)
{
return null;
}
if(this.top === this.bottom)
{
this.bottom = null;
}
//const holdingPointer = this.top;
this.top = this.top.next;
this.length--;
return this;
}
}
const MyStack = new Stack();
MyStack.push('google');
MyStack.push('udemy');
MyStack.push('discord');
console.log(MyStack.peek());
console.log(MyStack);
MyStack.pop();
MyStack.pop();
MyStack.pop();
console.log(MyStack);