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
반응형