Turbo-C
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
터보-C 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
Lua 게시판
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C/C++ Q/A
[421] Re:변환하는 프로그램??
지나가는 사람 [] 3070 읽음    2002-04-08 17:09

답변이 없기에 글을 올립니다.

사실 이 질문은 linked List를 만들어 보셨다면..
질문거리가 되지 않는 내용입니다.

일단 링크드 리스트는 자기참조 구조체를 사용해서 구조체를 서로 연결시키는
자료구조입니다.

선형은 1 -> 2 -> 3 -> 4 -> 5
이중은 1 <-> 2 <-> 3 <-> 4 <-> 5

이런형태를 가집니다.

즉, 선형은 1개의 자기참조 구조체 포인터로 다음 노드를 가리키는 포인터를 하나
가집니다. 따라서 처음 1의 포인터를 알고 있으면 2,3,4번 순으로 링크를 따라가서
특정 노드를 찾을수 있습니다.
장점은 단순하지만.. 뒤로는 검색이 불가능한 구조입니다.

이중은 이런 문제점이 없습니다.
즉, 선형은 1개의 자치참조 구조체 포인터로 다음 노드만 알수 있지만..
이중은 2개의 자기참조 구조체로 앞노드와 뒷노드를 연결시킵니다.
(하나는 앞을, 다른 하나는 뒤를 연결시킵니다.)

따라서 앞/뒤 어느쪽이든 링크를 따라가서 특정노드를 찾을수 있습니다.

두서없는 설명이지만..
선형과 이중 연결리스트를 한번 구현해 본다면.. 그리 어렵지 않게 풀수 있는 문제입니다.
(이를 구현하기 위해선.. 구조체,포인터에 대한 이해가 필수입니다.)

링크드 리스트를 구현해 보면.. 포인터에 대한 이해와 추후 트리등의 자료구조를
익히는데 큰 도움이 됩니다.

또, 요즘 윈도우 프로그래밍 실무에선 직접 링크드 리스트를 구현하는 경우는 별로 없지만..
나중에 실무에서 여러가지 응용하는데 있어 큰 도움이 됩니다.

반드시 거쳐가야할 내용이라고 생각하시고 꼭 구현해 보시기 바랍니다.
한번만 구현해 보면 아마 위 문제는 쉽게 해결 할 수 있을겁니다.



리더 님이 쓰신 글 :
: 저기여..
:
: 단순 연결리스트를 입력바다 이중 연결리스트로 변환하는거
:
: 이거 어떡해 해야 하나여??

+ -

관련 글 리스트
415 변환하는 프로그램?? 리더 1980 2002/04/06
421     Re:변환하는 프로그램?? 지나가는 사람 3070 2002/04/08
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.