|
답변이 없기에 글을 올립니다.
사실 이 질문은 linked List를 만들어 보셨다면..
질문거리가 되지 않는 내용입니다.
일단 링크드 리스트는 자기참조 구조체를 사용해서 구조체를 서로 연결시키는
자료구조입니다.
선형은 1 -> 2 -> 3 -> 4 -> 5
이중은 1 <-> 2 <-> 3 <-> 4 <-> 5
이런형태를 가집니다.
즉, 선형은 1개의 자기참조 구조체 포인터로 다음 노드를 가리키는 포인터를 하나
가집니다. 따라서 처음 1의 포인터를 알고 있으면 2,3,4번 순으로 링크를 따라가서
특정 노드를 찾을수 있습니다.
장점은 단순하지만.. 뒤로는 검색이 불가능한 구조입니다.
이중은 이런 문제점이 없습니다.
즉, 선형은 1개의 자치참조 구조체 포인터로 다음 노드만 알수 있지만..
이중은 2개의 자기참조 구조체로 앞노드와 뒷노드를 연결시킵니다.
(하나는 앞을, 다른 하나는 뒤를 연결시킵니다.)
따라서 앞/뒤 어느쪽이든 링크를 따라가서 특정노드를 찾을수 있습니다.
두서없는 설명이지만..
선형과 이중 연결리스트를 한번 구현해 본다면.. 그리 어렵지 않게 풀수 있는 문제입니다.
(이를 구현하기 위해선.. 구조체,포인터에 대한 이해가 필수입니다.)
링크드 리스트를 구현해 보면.. 포인터에 대한 이해와 추후 트리등의 자료구조를
익히는데 큰 도움이 됩니다.
또, 요즘 윈도우 프로그래밍 실무에선 직접 링크드 리스트를 구현하는 경우는 별로 없지만..
나중에 실무에서 여러가지 응용하는데 있어 큰 도움이 됩니다.
반드시 거쳐가야할 내용이라고 생각하시고 꼭 구현해 보시기 바랍니다.
한번만 구현해 보면 아마 위 문제는 쉽게 해결 할 수 있을겁니다.
리더 님이 쓰신 글 :
: 저기여..
:
: 단순 연결리스트를 입력바다 이중 연결리스트로 변환하는거
:
: 이거 어떡해 해야 하나여??
|