スタック


スタックとは?
山.たいせきふろしき
英雄連盟を遊ぶプレイヤーはよくこの言葉に触れる.
いつまで積み重ねるか.
この資料の構造は1層1層の煎餅に似ている.
パンケーキを食べるときは、一番下から食べません.
私もそのように一番上から食べます.
結局、積み上げ始めたパンケーキは上のケーキが消えるまで待たなければならない.(お腹いい?)
特長
一番早い資料、一番遅い構造(FIRST IN LAST OUT)、FILA
最も遅い資料、最も早く現れた構造(LAST IN FIRST OUT)は、LIFOとも呼ばれています.
どこで使いますか.
最も代表的なのは、ブラウザの後退と前進機能を実現するために使用されます.
ブラウザ後退前進ロジック
1.新しいページにログインします.現在のページをPrev Stackに入れます.
2.戻るボタンをクリックして前のページに進み、現在のページをPrev Stackに、Prev Stackの上部ページをCur Stackに入れます.
3.前進ボタンをクリックし、前に登録したページに移動します.Next Stackの最上位スタックを取得します.
Cur Stackの最上階はPrev Stackです.
4.現在のページをCur Stackに移動します.
5.繰り返し…
JavaScriptで実現します.
	class Stack {
    	this.storage();{
        this.top = 0; // 스택의 상단을 0으로 초기화 시켜준다.
        }

	size() {
    	return this.top(); // 스택의 크기는 top으로 알 수 있다.
    	}

	push(el) {
    	this.storage[this.top(el)];
      	this.top = this.top + 1
    	}

	pop(){
    	if(this.size() <=0){ // 빈 스택에 pop연산을 실행해도 에러가 발생하지 않는다.
        return; 
        }
      const result = this.storage[this.top - 1];
      delete this.storage[this.top - 1];
      this.top = this.top - 1;
      
      return result
   	  }
    }
初めての接触だったら、これは何だと思います.しかし,スタックの特徴を理解すると意外(?)簡単です.
データを格納するリポジトリはstorageであり、スタックの上部を指すのはtopである.
sizeはトップを知っていればわかる.
先に出てから出るのを忘れないでください.