• 링크드 리스트 기본 구조



-노드는 정보(Data) & 다음 노드(Next)가 누구인지 저장하고 있다.


-링크드 리스트는 자료를 검색할때 앞에서 순차적으로 검색한다.


-Head노드와 End노드는 Data를 저장하지 않는 형식으로 구현(이건 편의상 이렇게 한것, 크게 상관은 없다).




  • 링크드 리스트 삽입

삽입할 데이터가 들어갈 위치를 찾고,




노드#01(앞 자리의 노드) 의 다음노드(Next) = 삽입노드

삽입 노드의 다음노드(Next) = 노드#02(뒷자리 노드)





삽입 종료


결론적으로 삽입한 노드의 뒷노드 들이 한칸씩 밀리게 된다.




  • 링크드 리스트 삭제

삭제할 노드를 찾고,




삭제할 노드의 전 노드(노드#01)의 다음노드(Next)를
삭제할 노드의 다음노드(삭제 노드의 Next)로 설정



그 후에 삭제할 노드를 삭제


삽입과 반대로, 삽입한 노드의 뒷노드 들이 한칸식 앞으로 당겨지게 된다.



  • 전체 코드



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

트리 순회 알고리즘#01 전위 순회(Preorder Traversal)  (0) 2017.01.23
이진 트리(Binary Tree)  (0) 2017.01.23
큐(Queue)  (0) 2017.01.22
스택(Stack)  (0) 2017.01.21
이중 링크드 리스트(Doubly Linked List)  (1) 2017.01.20

+ Recent posts