728x90
Stack
Stack
⸰ 선형 자료형
⸰ LIFO(Last In First Out)
⸰ 이전의 작업 내용을 저장해 둘 필요가 있을 때 사용
class Stack{
constructor(){
this.stack = []
}
push(item){
this.stack.push(item)
}
pop(){
return this.stack.pop()
}
peek(){
return this.stack[this.arr.stack-1]
}
}
const stack = new Stack();
stack.push(1);
stack.push(2);
stack.push(3);
stack.pop(); // 3
push()
: 데이터 삽입
pop()
: 데이터 추출
peek()
: 맨 위의 데이터 확인
Queue
Queue
⸰ 선형 자료형
⸰ FIFO(First In First Out)
⸰ 순서대로 처리해야 하는 작업을 임시로 저장해 두는 버퍼(buffer)로 사용
class Queue {
constructor() {
this.queue = [];
}
enqueue(item) {
this.queue.push(item);
}
dequeue() {
return this.queue.shift();
}
}
const queue = new Queue();
queue.enqueue(1);
queue.enqueue(2);
queue.enqueue(3);
queue.dequeue(); // 1
enqueue()
: 데이터 삽입
dequeue()
: 데이터 추출
728x90
'💠프로그래밍 언어 > JavaScript' 카테고리의 다른 글
[심화] 전역변수도 매개변수로 하는 이유는 무엇일까? (0) | 2024.07.15 |
---|---|
[심화] 사용자에게 입력 받는 방법 구현하기 (0) | 2024.07.11 |
[심화] random 함수 사용법 알기 (0) | 2024.07.10 |
[심화] substr / substring / slice 의 차이점이 뭘까? (0) | 2024.07.08 |
[심화] 아스키코드 / replace / break, continue / localeCompare / charAt(i) / 진수 변환, 2차원배열 (0) | 2023.10.24 |