본문 바로가기
Programming/DataStructure

[자료구조] Singly linked list reverse algorithm diagram

by soccerman 2020. 2. 11.
반응형

DataStructure 에서 linked list 부분 공부하다 pointer 개념이 명확하게 잡혀있지 않아 정리하는 과정에서 diagram을 만들어 보았습니다. 혹시나 어려움을 겪으시는 분이 있다면 제가 만든 허접한 Diagram 보고 따라가시면 조금 도움이 될 것 같습니다.

코드 출처 : https://www.javatpoint.com/program-to-determine-whether-a-singly-linked-list-is-the-palindrome

linked list 에 node를 추가하고 palindrome인지 판단하고 출력하는 전체 코드입니다.

 

Program To Determine Whether A Singly Linked List Is The Palindrome - javatpoint

Program To Determine Whether A Singly Linked List Is The Palindrome on fibonacci, factorial, prime, armstrong, swap, reverse, search, sort, stack, queue, array, linkedlist, tree, graph etc.

www.javatpoint.com

아래의 허접한 다이어그램은 제가 만들었습니다.

빨간색 선은 변경되는 혹은 새로 추가되는 부분이고 파란색 선은 기존의 부분입니다. current=nextNode같이 기존 부분에서 포인터가 변경되면 이전의 포인터를 나타내는 파란색 선을 사라지게됩니다. 반면 nextNode->next와 같이 기존에 존재하고 변경되지 않은 포인터는 이후 단계에도 유지됩니다. 

current의 포인트가 NULL이어서 while 문이 종료되고 전체코드에서는 prevNode와 전체 list의 앞부분 1,2,3을 차례대로 데이터를 비교하여 palindrome 여부를 따집니다.

반응형

댓글