Search
 
SCRIPT & CODE EXAMPLE
 

JAVASCRIPT

stack implementation in javascript using array

class Stack{
    constructor(){
        this.array = [];
        this.count = 0;
    }

    isEmpty(){
        return this.count == 0;
    }

    size(){
        return this.count;
    }

    peekTop() {
        if(this.count == 0){
            return "Stack is Empty";
        }
        return this.array[this.count-1];
    }

    peek(pos){
        var top =this.count-1;
        if(top-pos+1<0)
            return "invalid index";
        else
            return this.array[top-pos+1];
    }

    push(data){
        this.count++;
        this.array.push(data);
    }

    pop(){
        if(this.array.length == 0)
            return "Stack is Underflow";
        this.count--;
        return this.array.pop();
    }

    print(){
        if(this.count == 0){
            return "Unable to Print,Stack is Empty :-(";
        }
        var str = "";
        for (var i = this.array.length-1; i >= 0; i--)
            str += this.array[i] + " ";
        return str;
    }
}

const arrStack = new Stack();
arrStack.push("10");
arrStack.push("20");
arrStack.push("30");
arrStack.push("40");
console.log("Peek Top element is ",arrStack.peekTop());
arrStack.push("50");
console.log("Poped element in stack ",arrStack.pop());
console.log("Peeked element at position 2",arrStack.peek(2));
console.log("element in stack
",arrStack.print());
console.log("is Stack empty? ",arrStack.isEmpty());
console.log("Size of stack is ",arrStack.size());

/**
 * Time Complexity -> O(1) (all opeartion take constant time)
 * Space Complexity -> O(1)
 */
Comment

javascript stack

let stack = []
stack.push(2)      	// stack is now [ 2 ]
stack.push(5)      	// stack is now [ 2, 5 ]

let lastElement = stack[stack.length - 1]   // the las element is 5

let i = stack.pop() // stack is now [ 2 ]
console.log(i)      // displays 5


let queue = []
queue.push(2)    		// queue is now [ 2 ]
queue.push(5)        	// queue is now [ 2, 5 ]
let i = queue.shift()	// queue is now [ 5 ]
console.log(i)          // displays 2
Comment

stack in javascript

class Stack{
   constructor() 
    { 
        this.items = []; 
    } 
   
    push(element) 
   { 
    // push element into the items 
    this.items.push(element); 
    }
  
    pop() 
    { 
    if (this.items.length == 0) 
        return "Underflow"; 
    return this.items.pop(); 
    } 
  
    peek() 
	{ 
    	return this.items[this.items.length - 1]; 
	} 
  
    printStack() 
    { 
    	var str = ""; 
    	for (var i = 0; i < this.items.length; i++) 
        	str += this.items[i] + " "; 
    	return str; 
    } 

}
Comment

Stack Example In JavaScript

class Stack {
  constructor() {
    this.items = [];
  }

  push(item) {
    this.items.unshift(item);
  }

  pop() {
    return this.items.shift();
  }

  peek() {
    return this.items[0];
  }

  isEmpty() {
    return this.items.length === 0;
  }
}


let s =	new Stack();
s.push("one");
s.push("two");
s.push("three");
s.pop("two");
console.log(s);
Comment

How to create a stack in JavaScript?

/* Errors to be thrown when 
   trying to get elements from
   an empty stack. */
class StackError extends Error {
  constructor(message) {
    super(message);
    this.name = "Stack Error";
  }
}
// Last In First Out stack data structure
class Stack {
  constructor() {
    this.items = []; // container holding elements
  }
  // Getter methods
  get size() {
    return this.items.length;
  }
  get isEmpty() {
    return this.size === 0;
  }
  // push: push an element onto
  // top of the stack
  push(item) {
    this.items.push(item);
  }
  // pop: pop top element from stack
  pop() {
    if (this.isEmpty) {
      throw new StackError("Stack is empty!");
    }
    return this.items.pop();
  }
  // peek: return top element of stack
  peek() {
    if (this.isEmpty) {
      throw new StackError("Stack is empty!");
    }
    return this.items[this.items.length - 1];
  }
}
const stack = new Stack();
try {
  stack.peek(); // Stack is empty => error
} catch (err) {
  console.log(err.message); // Stack is empty!
}
// Add elements 1, 2, and 3 to stack
for (let idx = 1; idx <= 3; idx++) {
  stack.push(idx);
}
console.log("Size:", stack.size); // Size: 3
const stackContent = [];
while (!stack.isEmpty) {
  stackContent.push(stack.pop() + " ");
}
console.log("Stack:", stackContent.join("")); // Stack: 3 2 1
Comment

javascript stack

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);
        newNode.next = this.top
        this.top = newNode;

        if(this.length === 0) this.bottom = newNode;
        this.length++;
    }
    pop(){
        if(!this.top) return;
        if(this.top === this.bottom){
            this.top = null;
            this.bottom = null;
            this.length--;
            return
        }
        const temp = this.top
        this.top = temp.next
        this.length--;
    }
}

const a = new Stack();
Comment

Stack Implementation in Javascript

array = []
top = -1

function push(data){
	array[++top] = data
}

function pop(){
	if (top == -1) return "Empty Stack"
	ans = array[top]
	top--
	return ans
}

function peek(){
	if (top == -1) return "Empty Stack"
	return array[top]
}
Comment

Creating stack in javascript

lass Stack{
    constructor(){
        this.array = [];
        this.count = 0;
    }

    isEmpty(){
        return this.count == 0;
    }

    size(){
        return this.count;
    }

    peekTop() {
        if(this.count == 0){
            return "Stack is Empty";
        }
        return this.array[this.count-1];
    }

    peek(pos){
        var top =this.count-1;
        if(top-pos+1<0)
            return "invalid index";
        else
            return this.array[top-pos+1];
    }

    push(data){
        this.count++;
        this.array.push(data);
    }

    pop(){
        if(this.array.length == 0)
            return "Stack is Underflow";
        this.count--;
        return this.array.pop();
    }

    print(){
        if(this.count == 0){
            return "Unable to Print,Stack is Empty :-(";
        }
        var str = "";
        for (var i = this.array.length-1; i >= 0; i--)
            str += this.array[i] + " ";
        return str;
    }
}

const arrStack = new Stack();
arrStack.push("10");
arrStack.push("20");
arrStack.push("30");
arrStack.push("40");
console.log("Peek Top element is ",arrStack.peekTop());
arrStack.push("50");
console.log("Poped element in stack ",arrStack.pop());
console.log("Peeked element at position 2",arrStack.peek(2));
console.log("element in stack
",arrStack.print());
console.log("is Stack empty? ",arrStack.isEmpty());
console.log("Size of stack is ",arrStack.size());

/**
 * Time Complexity -> O(1) (all opeartion take constant time)
 * Space Complexity -> O(1)
 */
Comment

PREVIOUS NEXT
Code Example
Javascript :: alertify js vue 
Javascript :: react-moralis 
Javascript :: javascript unique array 
Javascript :: join more then one array javascript 
Javascript :: how to add id in jquery 
Javascript :: js map array to object 
Javascript :: replacing a value in string using aregular expression pyhton 
Javascript :: while loop in javascript 
Javascript :: load.json 
Javascript :: how to get the uppert triangular matrix out of a matrix matlab 
Javascript :: vue implode array 
Javascript :: how to use findoneandupdate 
Javascript :: firebase user sign out 
Javascript :: multi-dimensional array js 
Javascript :: super method in js 
Javascript :: start animation with javascript 
Javascript :: Different between for of loop and for in loop in js 
Javascript :: change class js 
Javascript :: jquery add attribute without value 
Javascript :: electron js production release Distributing 
Javascript :: How to pass data in Link of react-router-dom 
Javascript :: jquery select element without child 
Javascript :: trim a string in javascript 
Javascript :: reactjs get one document from firestore 
Javascript :: next js cookie 
Javascript :: date compare in js 
Javascript :: how to copy array of objects in javascript 
Javascript :: array.flat 
Javascript :: passing data between components in react js 
Javascript :: expo dependencies 
ADD CONTENT
Topic
Content
Source link
Name
6+2 =