링크드리스트(LinkedList)

자료구조 2015. 5. 25. 16:42

링크드 리스트

 

 

프로그래머가 항상 배열로 자신이 선언한 개수대로 사용을 하자니 적고

개수를 많이 선언하지니 메모리의 용량을 많이 차지하는 문제가 발생하게된다.

 

그래서 이문제를 해결하기 위해서 배열처럼 데이터 집합을 보관하는 기능을 가지면서

배열과는 달리 유연하게 크기를 바꿀 수 있는 자료구조를 사용할 수 있게되는데

그것이 바로 List이다.

 

노드(Node)

- 리스트 내의 각 요소를 Node라고 부른다. Node는 쉽게 말해서 '마디'라고도 부를 수 있는데

  링크드 리스트는 '노드를 연결해서 만든 리스트'라고 말할 수 있다.

 

또한 이렇게 노드를 몇개 연결을 하게되면

 

 

이런식으로 리스트의 첫번째 노드를 Head라고하고, 끝의 노드를 Tail이라고 한다.

 

링크드 리스트의 구현

 

링크드리스트의 노드는

struct Node

{

// 노드의 데이터 필드

int Data;

// 다음 노드를 가리키는 포인터

struct Node *NextNode;

};

 

이렇게 구분할 수 있다.

 

링크드 리스트의 주요 연산은

 

- 노드 생성/ 소멸

- 노드 추가

- 노드 탐색

- 노드 삭제

- 노드 삽입

 

이렇게 구분지을 수 있다.

 

 

노드 생성 / 소멸

 

 

'자료구조' 카테고리의 다른 글

트리  (0) 2015.08.17
순차탐색  (0) 2015.08.17
순환 큐 (Circle Queue)  (0) 2015.07.29
버블 정렬  (0) 2015.04.18
삽입 정렬  (0) 2015.04.16
admin