나무 숲
큐 (Queue) 본문
큐
큐는 선착순에 비유할 수 있다.
먼저 온 사람이 먼저 들어가는 것처럼, 큐라는 자료구조 안에서는 먼저 들어온 데이터가 먼저 나간다.
이러한 구조를 FIFO (First-In, First-Out. 선입선출)라고 한다.
빈 큐.
큐에서는 앞부분, 즉 머리를 Front로 나타내고 뒷부분, 즉 꼬리를 Rear로 나타낸다.
데이터를 넣은 모습. (enqueue)
데이터가 하나뿐이므로 데이터=front=rear이다.
데이터를 이렇게 더 채워넣은 상태에서 데이터 삭제 함수(dequeue)를 호출하면 가장 앞의 데이터가 빠져나간다.
따라서 front는 2라는 값을 가진 노드를 가리키게 된다.
양방향 연결 리스트로 구현하였습니다~ (거꾸로도 출력할 수 있어서..)
연결 리스트를 이용한 큐 구현
0 구조체 정의+초기화
1 Enqueue
2 Dequeue
3 isEmpty?
4 데이터 출력
5 테스트용 메인 함수 + 결과
+) 그러고보니 따로 쓰진 않았지만 제 코드에서는 데이터 삽입/삭제 부분에서 isEmpty함수를 쓰기 때문에 삽입/삭제 함수보다 먼저 써줘야 해요..!
-----------------------------------------------------------------------------------------------------------
참고용으로 봐주시고 부족한 부분 지적해주시면 감사드리겠습니다~
728x90
반응형
'Career > 알고리즘 · 자료구조' 카테고리의 다른 글
이진 트리 (Binary Tree) - 소개 (0) | 2016.09.06 |
---|---|
[파이썬] 배열/리스트를 연결해서 출력하기 (1) | 2016.08.30 |
스택 (Stack) (0) | 2016.08.18 |
연결 리스트 (Linked List) - 이중 연결 리스트, 이중 원형 연결 리스트 (2) | 2016.08.16 |
연결 리스트 (Linked List) - 원형 연결 리스트 (0) | 2016.08.15 |
Comments