반응형
SMALL
오늘은 큐(Queue)를 구현해보는 두번째 시간으로
연결리스트(Linked List)를 이용할 것이다
연결리스트(Linked List)는 노드(구조체)가
여러 종류의 데이터 타입을 담고 있는채로
서로 연결되어 있는 자료구조이다
이를 구현하기 위해서는
먼저.C의 구조체(Struct), 포인터(Pointer)를
숙지해야 구현 가능하지만 설명은 생략하겠다
연결리스트도 구현하기에 따라서
이중 연결리스트(Doubly linked List), 이중 원형 연결리스트 등이 있다
위의 코드에서 head는 선두 노드를 tail은 마지막 노드를 가리킨다
즉, dequeue()함수를 통해 head가 가리키는 노드의 값을 출력하고
enqueue()함수를 통해 생성된 노드가 tail이 된다
배열(Array)로 생성한 큐보다 연결리스트(Linked List)를 통해
구현한 큐(Queue)는 메모리를 동적(malloc)할당하기 때문에
메모리 낭비가 없는 장점이 있다
반응형
LIST
'Algorithms' 카테고리의 다른 글
[Algorithms] 선형 탐색(Linear Search)과 이진 탐색(Binary Search) (0) | 2020.07.27 |
---|---|
[Algorithms] 유클리드(Euclid) 호제법 (0) | 2020.07.26 |
[Algorithms] 재귀적 프로그래밍(Recursive Programming)_2 (0) | 2019.08.12 |
[Algorithms] 재귀적 프로그래밍(Recursive Programming)_1 (0) | 2019.08.12 |
[Algorithms] 배열을 이용한 큐(Queue) (0) | 2019.07.18 |