Algorithms

[Algorithms] 연결리스트(Linked List)를 이용한 큐(Queue)

구루싸 2019. 7. 29. 21:14
반응형
SMALL

오늘은 큐(Queue)를 구현해보는 두번째 시간으로

연결리스트(Linked List)를 이용할 것이다

연결리스트(Linked List)는 노드(구조체)가

여러 종류의 데이터 타입을 담고 있는채로

서로 연결되어 있는 자료구조이다 

이를 구현하기 위해서는

먼저.C의 구조체(Struct), 포인터(Pointer)

숙지해야 구현 가능하지만 설명은 생략하겠다

연결리스트도 구현하기에 따라서

이중 연결리스트(Doubly linked List), 이중 원형 연결리스트 등이 있다

연결리스트(Linked List)를 이용한 큐(Queue)

위의 코드에서 head는 선두 노드를 tail은 마지막 노드를 가리킨다

즉, dequeue()함수를 통해 head가 가리키는 노드의 값을 출력하고

enqueue()함수를 통해 생성된 노드가 tail이 된다

배열(Array)로 생성한 큐보다 연결리스트(Linked List)를 통해

구현한 큐(Queue)는 메모리를 동적(malloc)할당하기 때문에

메모리 낭비가 없는 장점이 있다

반응형
LIST