본문 바로가기

수업내용정리/자료구조

[자료구조][C언어]큐(Queue)란?(1)_큐의 개념

큐(Queue)란?_큐의 특징

한쪽 방향으로 데이터가 들어오고(삽입) 다른 반대방향으로 나가는(제거) 자료구조이다.

는 먼저 들어온 데이터가 제일 나중에 나가는 선입후출(FILO)스택과는 다르게 먼저 들어온 데이터가 먼저  나간다는 특징이 있다.(선입선출, FIFO, 후입후출, LILO)

다른 자료구조들에 비해 구현이 쉬운 편이다.

큐는 왜 사용하는 것일까?

맨 처음 들어온 데이터가 먼저 나가는 구조(FIFO)를 가진 특징 덕분에, 큐는 프로세스를 관리하는 스케줄러에서 쓰일 수 있으며, 일상 속에서 대기열이 필요한 곳에서 쓰일 수 있기 때문이다.

또한 큐는 다른 자료구조에서 연산에 사용되는 등 다양한 알고리즘에서 사용되기 때문이다.

큐의 구조 및 연산

큐(Queue)의 구조

위 사진은 삽입 방향이 왼쪽인 큐의 구조를 나타낸 그림이다.

 

 

큐(Queue)의 연산

Enqueue(삽입): 큐의 삽입방향으로 값을 삽입

Dequeue(삭제): 큐의 삭제방향에 있는 값을 제거

isFull: 큐가 가득 차있는지 검사

isEmpty: 큐가 비어있는지 검사

 

 

다음시간엔 C로 위 선형 큐를 직접 구현해 보는 시간을 가지도록 할 것이다.

 

참조

천인국 외 2인 , C언어로 쉽게 풀어쓴 자료구조, 생능출판, 2019