728x90
    
    
  반응형
    
    
    
  
큐(Queue) 란?
가장 먼저 리스트에 삽입된 원소가
가장 먼저 삭제되는 구조입니다.
FIFO(First In First Out) 특징을
가지고 있습니다.
가장 쉬운 예로

일상생활에서 쉽지 볼 수 있는 예입니다.
가장 먼저 줄은 선 사람이
가장 먼저 타는,
일반적인 줄을 서는 구조입니다.

데이터는 이렇게
이동을 하겠네요!
Javascript로 구현을 해볼게요.
in(item) {
    this.#item.push(item);
}
out() {
  return this.#item.shift();  // 0번째 제거
}내장 객체를 사용하여
배열로 아주 간단히 구현이 가능합니다.
class Queue {
    #items;
    constructor() {
        this.#items = [];
    }
    in(data) {
        this.#items.push(data);
    }
    out() {
        return this.#items.shift();  // 0번째 제거
      }
    get() {
        console.log('size=', this.#items.length, 'items=', this.#items);
        return this.#items;
    }
    isEmpty() {
        return this.#items.length == 0;
    }
}
이제 실행을 한 번 해볼게요.
const queue = new Queue();
queue.in('바나나');
queue.in('사과');
queue.in('참외');
queue.in('수박');
queue.get();
// size= 3 items= { '0': '바나나', '1': '사과', '2': '참외' }
queue.out();
queue.get();
// size= 2 items= { '0': '바나나', '1': '사과' }
자료구조를 하나씩 알아가고 있습니다.
재미있네요!

[8] [알고리즘 - 자료구조] 덱(Deque)이란? (선형구조) javascript 구현
덱(Deque) 이란? 양쪽 끝에서 삽입과 삭제를 모두 허용하는 자료의 구조입니다. 스택과 큐의 복합 형태죠. 이런 형태가 될 수 있겠네요. 이번에는 javascript의 내장 객체를 사용하여 빠르고 간단하게
developerjun2.tistory.com
반응형
    
    
    
  'Development > 알고리즘' 카테고리의 다른 글
| [9] [알고리즘 - 자료구조] 비선형구조란? (0) | 2021.11.11 | 
|---|---|
| [8] [알고리즘 - 자료구조] 덱(Deque)이란? (선형구조) javascript 구현 (0) | 2021.11.10 | 
| [6] [알고리즘 - 자료구조] 스택(Stack)이란? (선형구조) javascript 구현 (0) | 2021.11.10 | 
| [5] [알고리즘 - 자료구조] 연결리스트(Linked List)란? (선형구조) javascript 구현 (0) | 2021.11.09 | 
| [4] [알고리즘 - 자료구조] 순차리스트 란? (선형구조) javascript 구현 (0) | 2021.11.08 |