나무 숲

큐 (Queue) 본문

Career/알고리즘 · 자료구조

큐 (Queue)

wood.forest 2016. 8. 22. 15:47

큐는 선착순에 비유할 수 있다.

먼저 온 사람이 먼저 들어가는 것처럼, 큐라는 자료구조 안에서는 먼저 들어온 데이터가 먼저 나간다.

이러한 구조를 FIFO (First-In, First-Out. 선입선출)라고 한다.

빈 큐.

큐에서는 앞부분, 즉 머리를 Front로 나타내고 뒷부분, 즉 꼬리를 Rear로 나타낸다.


데이터를 넣은 모습. (enqueue)

데이터가 하나뿐이므로 데이터=front=rear이다.

데이터를 이렇게 더 채워넣은 상태에서 데이터 삭제 함수(dequeue)를 호출하면 가장 앞의 데이터가 빠져나간다. 

따라서 front는 2라는 값을 가진 노드를 가리키게 된다.





양방향 연결 리스트로 구현하였습니다~ (거꾸로도 출력할 수 있어서..)

연결 리스트를 이용한 큐 구현

0 구조체 정의+초기화


1 Enqueue


2 Dequeue


3 isEmpty?


4 데이터 출력


5 테스트용 메인 함수 + 결과



+) 그러고보니 따로 쓰진 않았지만 제 코드에서는 데이터 삽입/삭제 부분에서 isEmpty함수를 쓰기 때문에 삽입/삭제 함수보다 먼저 써줘야 해요..!


-----------------------------------------------------------------------------------------------------------

참고용으로 봐주시고 부족한 부분 지적해주시면 감사드리겠습니다~

728x90
반응형
Comments