A sentimental robot

LinkedList 본문

Data Structure

LinkedList

GOD03219 2018. 1. 3. 10:49


LinkedList


  • 자기참조 구조체가 필요하다.
  • 추가 삽입, 삭제가 가능하다. > 배열의 단점을 보안

    1) 배열과 같이 일괄처리를 목적으로 하여 메모리 추가, 삭제가 자유로워 메모리 낭비를 발생하지 않는다.

    2) 단점은 동적메모리를 사용하므로 잘못된 연결 또는 삭제시 심각한 문제가 발생할 수 있다.

  • 메모리가 각각 떨어져 있기 때문에 포인터를 사용하여 서로 이어줘야 한다.
  • 동적메모리를 사용한다.


링크드리스트의 종류


1. 싱글 링크드리스트 > 순방향, 역방향 불가

2. 환형 싱글 링크드리스트

3. 더블 링크드리스트 > 순+역방향

4. 환형 더블 링크드리스트 >가장 많이 쓰임

 


 

 

struct A{

char name[10];

int age;

struct A*p;     // 자기자신의 타입을 가르키는 포인터를 멤버로 갖는 것이 자기참조 구조체 > 자기참조 구조체 안의 포인터는 다음 노드를 가르킬 때 쓰인다.

}

struct A aa;

 

strcpy(aa.name,"superman");

aa.age=1000;

aa.p=&aa;

 


 

'Data Structure' 카테고리의 다른 글

Linear Queue  (0) 2018.01.03
Babygin  (0) 2018.01.03
Baseball Game(computer vs user)  (0) 2018.01.03
Single LinkedList Exercise2  (0) 2018.01.03
Single LinkedList Exercise  (0) 2018.01.03