Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Cấu trúc dữ liệu Stack trong JavaScript

Stack là một Kiểu Dữ Liệu Trừu Tượng (ADT), thường dùng trong hầu hết ngôn ngữ lập trình. Được đặt tên stack vì hành vi như stack thực tế – ví dụ: bộ bài hoặc chồng đĩa.

Cấu trúc dữ liệu Stack trong JavaScript

Stack chỉ cho phép thao tác tại một đầu. Đặc điểm này làm cho nó thành cấu trúc LIFO (Last-In-First-Out). Phần tử đặt vào cuối cùng được truy xuất đầu tiên. Trong thuật ngữ stack, chèn gọi là PUSH, xóa gọi là POP.

Sơ đồ sau minh họa các thao tác trên stack:

Cấu trúc dữ liệu Stack trong JavaScript

Dưới đây là lớp JavaScript hoàn chỉnh biểu diễn Stack:

Ví dụ

class Stack {    constructor(maxSize) {       if (isNaN(maxSize)) {          maxSize = 10;       }       this.maxSize = maxSize;       this.container = [];    }    display() {       console.log(this.container);    }    isEmpty() {       return this.container.length === 0;    }    isFull() {       return this.container.length >= this.maxSize;    }    push(element) {       if (this.isFull()) {          console.log("Stack Overflow!") return;       }       this.container.push(element)    }    pop() {       if (this.isEmpty()) {          console.log("Stack Underflow!") return;       }       this.container.pop()    }    peek() {       if (this.isEmpty()) {          console.log("Stack Underflow!");          return;       }       return this.container[this.container.length - 1];    }    clear() {       this.container = [];    } }