[자료구조]연결 리스트(Linked List)
2012. 1. 18. 19:09ㆍ머리쓰기/자료구조
연결 리스트 ( Linked List)
: 여러 데이터의 집합을 서로 연결시키는 형식.
데이터가 모여 있는 그룹인 노드와 노드를 연결시키는 링크로 이루어져 있습니다.
>종류<
1) 단방향 연결 리스트
: 단순히 한쪽 방향으로만 연결된 단방향 링크드 리스트
-> 자료 생성시, 노드가 생성되고 포인터는 생성된 포인터를 가리킵니다.
2) 쌍방향 or( 양방향 ) 연결 리스트
: 양쪽 방향으로 연결된 쌍방향 링크드 리스트
-> 자료 생성시, 노드가 생성되고 전 노드의 포인터는 생성된 포인터를 가리킵니다.
그리고 생성된 노드의 Prev 포인터는 전 노드를 가리킵니다.
3) 환형 연결 리스트
: 고리의 처음과 끝이 함께 연결되어 있는 링크드 리스트
-> 양방향과 같지만, 마지막 노드의 Next 포인터는 처음을 가리키는 부분이 추가됩니다.
일반적인 단방향 연결 리스트를 아래처럼 사용한다면
typedef struct LinkList* pointer;
struct LinkList
{
int data;
pointer next;
}; 양방향과, 환형의 경우 전,후를 가르치는 포인터가 하나 더 있다고 생각하시면 편합니다.
struct LinkList
{
int data;
pointer next;
pointer prev;
}; pointer prev;
'머리쓰기 > 자료구조' 카테고리의 다른 글
[자료구조] MAP (0) | 2012.01.05 |
---|---|
[자료구조]스택과 큐. (stack and queue) (0) | 2012.01.03 |
[자료구조]객체 지향 프로그래밍의 정의와 개념. (0) | 2012.01.01 |