iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 17
1
自我挑戰組

透過JavaScript學習演算法與資料結構系列 第 17

堆疊(Stack)

Stack是具有「Last-In-First-Out」的資料結構(可以想像成一種裝資料的容器),「最晚進入Stack」的資料會「最先被取出」,「最早進入Stack」的資料則「最晚被取出」。

IMG

一般Stack會有以下幾個方法:

  1. push(data):把資料放進Stack。
  2. pop:把「最上面」的資料從Stack中移除。
  3. top:回傳「最上面」的資料,不影響資料結構本身。
  4. isEmpty:確認Stack裡是否有資料,不影響資料結構本身。
  5. clear:清空Stack裡的所有資料。
  6. getSize:回傳Stack裡的資料個數,不影響資料結構本身。
function Stack() {
    const items = [];
    this.push = (element)=> {
        items.push(element);
    }
    this.pop = ()=> {
        return items.pop();
    }
    this.top = ()=> {
        return items[items.length - 1];
    }
    this.isEmpty = ()=> {
        return items.length === 0;
    }
    this.clear = ()=> {
        items = [];
    }
    this.getSize = ()=> {
        return items.length;
    }
}

上一篇
陣列(Array)
下一篇
連結串列(Linked List)
系列文
透過JavaScript學習演算法與資料結構30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言