Stack, Queue
Stack
材料の構造を一端からのみ挿入および削除できます(LIFO)
プッシュ(push)とポップ(pop)を使って資料を入れてから出します.
上図に示すように、出口が1つしかない構造です.上に蓄積すると、最も遅く蓄積されたデータが最初に流出します.callスタックでは、メソッドが呼び出され、終了するプロセスはスタックと似ています.
Diagram
Operation
purpose
implement
class Stack {
constructor() {
this.stack = [];
}
push(element) {
this.stack.push(element);
}
pop() {
return this.stack.pop();
}
size() {
return this.stack.length;
}
}
const stack = new Stack();
stack.push(1); // [1]
stack.push(2); // [1, 2]
stack.push(3); // [1, 2, 3]
console.log(stack);
console.log(stack.size());
stack.pop(); // [1, 2]
stack.pop(); // [1]
stack.pop(); // []
console.log(stack);
Queue
Diagram
Operation
Purpose
implement
class Queue {
constructor() {
this.queue = [];
}
enqueue(element) {
this.queue.push(element);
}
dequeue() {
this.queue.shift();
}
}
const queue = new Queue();
queue.enqueue(1);
queue.enqueue(2);
queue.enqueue(3);
console.log(queue); // [1, 2, 3]
queue.dequeue(); // [2, 3]
queue.dequeue(); // [3]
queue.dequeue(); // []
console.log(queue); // []
Reference
この問題について(Stack, Queue), 我々は、より多くの情報をここで見つけました https://velog.io/@jing07161/Stack-Queueテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol