큐(Queue)

sujeong kim·2021년 5월 24일
0

자료구조

목록 보기
2/4

큐?

가장 먼저 넣은 데이터를 가장 먼저 꺼낼 수 있는 데이터 구조입니다.
FIFO(First-In, First-Out), LILO(Last-In, Last-Out)방식이라고 합니다.
스택과 꺼내는 순서가 반대입니다.
ex) 음식점에서 가장 먼저 줄 선 사람이 제일 먼저 음식점에 입장.

용어

  • Enqueue: 큐에 데이터를 넣는 기능
  • Dequeue: 큐에서 데이터를 꺼내는 기능

큐 구현

function Queue() {
  let items = [];
  
  this.enqueue = function(element) {
  	items.push(element);
  }
  
  this.dequeue = function) {
  	items.shift();
  }
  
  this.front = function() {
  	return items[0];
  }

  this.isEmpty = function() {
  	return items.length === 0;
  }
  
  this.clear = function() {
  	items = [];
  }
  
  this.size = function() {
  	return items.length;
  }
  
  this.print = function() {
  	console.log(items.toString());
  }
}

우선순위 큐 (priority queue)

우선순위에 따라 추가되고 삭제되는 점이 다릅니다.

환형 큐 (circular queue)

뜨거운 감자 게임 룰과 같음.

profile
개발자

0개의 댓글