링크드리스트 (Linked List)의 종류와 특징



Linked List란


Linked List(연결 리스트)는 각 노드들이 일자로 링크(연결) 되어 있는 구조를 말합니다. 각각의 노드는 자신 다음의 노드나 이전 노드를 가르키고 있습니다.

Linked List의 종류


  • 단일 연결 리스트
  • 이중 연결 리스트
  • 원형(선형) 연결 리스트

구현 API ( 간단하게 )


  • int InsertNode(T newData, bool addTail = true)
    • 노드를 맨 앞이나 맨 뒤에 추가한다.
  • int InsertNode(T newData, int index)
    • 노드를 원하는 index에 삽입한다.
  • int RemoveNode(T removeData, bool matchRemoveAll = false)
    • 데이터와 일치하는 노드를 삭제한다.
  • int RemoveAt(int index)
    • 원하는 인덱스의 노드를 삭제한다.
  • void PrintNode()
    • 모든 노드를 출력한다.

단일 연결 리스트


600px-Single_linked_list

특징


  • 각 노드는 자신의 다음 노드만 가르킵니다.

구현 코드


코드 보기

이중 연결 리스트


600px-Single_linked_list

특징


  • 각 노드는 자신의 이전과 다음의 노드를 가르킵니다.

구현 코드


코드 보기

원형 연결 리스트


600px-Circurlar_linked_list

특징


  • 시작 노드와 끝노드가 이어져 있습니다.

구현 코드


코드 보기

출처







© 2017. by isme2n

Powered by aiden