JavaScriptによるStackの実装
8092 ワード
STACKとは?
これは,一端からしか資料を入れて取り出すことができないLIFO(Last In First Out)形式の資料構造である.
STACKでの演算
STACKの実装
class Stack {
constructor() {
this.stack = new Map();
this.index = 0; //push, pop할 때마다 증가 및 감소
}
size() {
return this.stack.size;
}
empty() {
return this.stack.size > 0 ? false : true;
}
push(element) {
this.stack.set(this.index++, element);
}
pop() {
let temp;
if (this.stack.size > 0) {
temp = this.stack.get(this.index - 1);
//push연산 후 index를 증가시키기 때문에 현재 index-1 위치의 값을 출력함
this.stack.delete(this.index-- - 1);
}
return temp;
}
peek() {
const temp = this.stack.get(this.index - 1);
return temp;
}
}
- constructorクラスが=>コンストラクション関数として宣言され、インスタンス化されている場合は、オブジェクトの作成時にオブジェクトの初期値を設定できます.
- this.stack
=>JavaScriptのMapデータ型を使用してスタックを構築
- this.index
=>indexの値はpush、pop、peek演算に使用されます.
console.log(stack);
stack.push(5);
stack.push(5);
console.log(stack);
console.log(stack.peek(), stack.pop(), stack.size(), stack.empty());
結果は以下の通りです.Reference
この問題について(JavaScriptによるStackの実装), 我々は、より多くの情報をここで見つけました https://velog.io/@ypyp66/자바스크립트로-Stack-구현하기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol