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

Triển khai Stack (Ngăn xếp) trong JavaScript

Dưới đây là mã để triển khai Stack (ngăn xếp) trong JavaScript.

Ví dụ

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <style>    body {       font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;    }    .result {       font-size: 18px;       font-weight: 500;       color: blueviolet;    }    button {       padding: 6px;       margin: 4px;    } </style> </head> <body> <h1>Triển khai Stack trong JavaScript.</h1> <div class="result"></div> <br /> <input type="text" class="stackPush" /><button class="pushBtn">Push</button> <button class="popBtn">Pop</button> <button class="Btn">Display</button> <h3>Nhấn các nút trên để thực hiện thao tác stack</h3> <script>    let resEle = document.querySelector(".result");    let BtnEle = document.querySelector(".Btn");    let pushBtnEle = document.querySelector(".pushBtn");    let popBtnEle = document.querySelector(".popBtn");    class Stack {       constructor() {          this.items = [];          this.top = 0;       }    }    Stack.prototype.push = function (ele) {       this.items[this.top] = ele;       this.top += 1;    };    Stack.prototype.pop = function () {       if (this.top === 0) {          return "Underflow: không còn phần tử để xóa";       }       tempNum = this.items[this.top - 1];       this.items.length -= 1;       return tempNum;    };    Stack.prototype.display = function () {       if (this.top == 0) {          return "Stack is empty";       }       for (let i = 0; i < this.top; i++) {          resEle.innerHTML += this.items[i] + " , ";       }    };    let stack1 = new Stack();    BtnEle.addEventListener("click", () => {       resEle.innerHTML = "";       stack1.display();    });    pushBtnEle.addEventListener("click", () => {       let ele = document.querySelector(".stackPush").value;       resEle.innerHTML = ele + " được push vào stack";       stack1.push(ele);    });    popBtnEle.addEventListener("click", () => {       resEle.innerHTML = stack1.pop() + " bị pop khỏi stack";    }); </script> </body> </html>

Kết quả

Triển khai Stack (Ngăn xếp) trong JavaScript

Khi nhập số và nhấn 'Push':

Triển khai Stack (Ngăn xếp) trong JavaScript

Khi nhấn 'Pop':

Triển khai Stack (Ngăn xếp) trong JavaScript

Khi nhấn 'Display' khi stack không rỗng:

Triển khai Stack (Ngăn xếp) trong JavaScript