Linked List
는 각 Data
들을 Pointer
로 연결하여 관리하는 구조이다.
첫 번째 Node
인 Head pointer
가 다음 Node
를 가리키고 그 Node
는 다음 Node
를 가리킨다.
맨 마지막 Node
에는 더 이상 다음 Node
를 가리키는 Pointer
가 없는데 이를 Tail Node
라 한다.
단순 Linked list (Singly Linked List)
- 단순히
Head
부터Tail
까지 이어져 있는 구조.
우선 Node를 아래와 같이 구성하고.
|
|
단일 Linked List는 아래와 같이 구성한다.
|
|
Main에서 아래와 같이 확인해보면
|
|
아래와 같은 결과를 얻을 수 있다.
|
원형 Linked list (Circular Linked List)
Tail
이Head
를 가리키는 원형 구조.
Node
는 위에 구성했던 것을 재사용한다.
Circular Linked List는 아래와 같이 구성한다.
|
|
Main을 아래와 같이 구성할 경우, 결과는 아래와 같다.
|
|
|
이중 Linked list (Doubly Linked List)
앞 Node
와뒷 Node
가 서로 바라보는 구조.
위에서 봤던 Linked list들과는 다르게 Previous Node
도 설정한다.
역방향으로 출력하기 위해 print문을 하나 추가한다.
|
|
Main은 아래와 같이 구성한다.
|
|
결과는 아래와 같다.
|