|
방법에 대한( 로직적인 )것만 알려드리도록 하겠습니다.
파일찾기를 생각해보시면 간단할거 같은데요... - 약간 난해한 조건도 포함되어 있긴 하군요
node는 생략하고 숫자만 사용하겠습니다.
5의 부모는 4이며 4는 5라는 자식을 가지고 있습니다.
4의 부모는 2이며 2는 3,4,5라는 자식을 가지고 있습니다.
2의 부모는 1이며 1은 2, 7이라는 자식을 가지고 있습니다.
1은 Master Parent 이군요.
난해한 조건을 포함하지 않고 알아내기 쉬운곳까지 알아보겠습니다.
( 난해한 조건이라 함은 같은 자식임에도 서열을 지니고 있다는 거겠지요? )
5를 선택하였습니다. 부모의 부모를 찾아 가보면
5 -> 4 -> 2 -> 1
아~ 아쉽게도 못찾은것이 발생되어버렸네요
그럼 자식들마다 서열을 정해줍시다.!
Master Parent가 있습니다.
1, 8, 9
이 셋을 각 1, 2, 3 으로 서열을 정해줍시다!
또 1의 자식들에게 서열을 정해줍시다!
2와 7에게 1,과 2로 서열을 정해줍시다!
3,4,6 에게도 서열을 정해줍시다! 1,2,3으로 말이지요 ^^
서열도 정해줬고 이제 조건을 바꿔서 한번 해볼까요?
5가 선택되었습니다.
5보다 서열이 높은 자식을 찾아봤는데 없군요?
이제 5의 부모로 이동하지요
5의 부모는 4이네요?
4보다 서열이 높은 자식을 찾아봅시다!?
3이 4보다 서열이 높군요?
3의 자식들을 모두 찾아냅시다.
다시 찾아봅시다.
4보다 서열이 높은 자식이 이젠 없군요
그럼 4의 부모인 2로 이동합니다.
2보다 서열이 높은 자식을 찾아봅시다!
없네요~ 부모인 1로 이동합니다.
1보다 서열이 높은 자식을 찾아봅시다!
없네요~ 아 Master Parent이니 이제 검색을 끝냅시다.
와.. 다 찾았군요?
위에 적어놓은것은 PDL 입니다. Program Design Language 라고 하는것이지요
상위 노드를 찾고 하위 노드를 찾는 것들은 이미 질문이 많이 올라와있습니다. ^^
말씀드린 서열을 어떻게 표시하느냐 하는것이 숙제인가요?
불행하게도 서열을 정해줄 필요가 없었다는것입니다.
TTreeNode의 Index라는 값이 서열을 뜻하는 것이지요
끝났습니다.
직접 PDL를 제작성하셔서 하셔야 할일을 잘 정리해 보신후 작업해보시기 바랍니다.
허접빌더 님이 쓰신 글 :
: TTreeView에 대한 질문입니다.
: TTreeView의 Node가 다음과 같이 구성되어 있다면...
:
: node1 // node5의 leve0에 해당하는 부분까지 뽑아내려구 함.
: node2
: node3
: node4
: node5 // node5를 선택시...
: node6
: node7
: node8
: node9
:
: 여기서 node5를 선택시..
:
: 다른 TreeView에 다음과 같이
: node1
: node2
: node3
: node4
: node5
: 등록하여고 합니다.
:
: 물론 node3을 선택했을 경우는
: node1
: node2
: node3
: 이렇게 표시 되겠죠!
:
: 즉 자기가 속한 node의 leve0에 해당하는 모든 node정보를 표시 해주어야 하는데..
: 어떻게 하면되나요!!
:
: 내 머리론 도저히 생각이...
:
: 좀 알려주세요!!!
: 그럼....
|