내가 같은 구조체가 있다고 가정 부모를 모른 채 포인팅 노드 sctuct를 찾으십니까?제도는 지적 구조체에서 포인터를 받고
1
A
답변
3
아니요, 불가능합니다. 사실, 부모 개체에 대한 참조를 어느 곳에서나 유지하지 않으면 부모 개체가 가비지 수집 될 수 있습니다. 도달 할 수없는 것으로 입증 될 수있는 객체는 언제든지 삭제 될 수 있습니다. 해당 객체에 대한 참조를 어디에도 저장하지 않으면 도달 할 수 없습니다.
이제 부모님에게 돌아가고 싶다면 몇 가지 옵션이 있습니다. 자식 노드에 부모에 대한 참조를 저장할 수 있습니다 (부모를 만든 후에 설정해야합니다). 덜 최적의 솔루션이지만 어떤 이유로 든 문제가되는 데이터 구조를 변경할 수없는 경우 작동하는 솔루션은 생성 한 모든 노드의 목록을 유지 한 다음 해당 목록을 통해 해당 노드를 검색하여 문제의 노드에 대해 eq?
이었다. 또는 동일한 작업을 수행 할 수 있지만 해시 테이블에 키를 저장하고 효율성을 높이기 위해 키가 자식이고 값이 부모 (또는 부모 목록, 둘 이상있을 수있는 경우)로 저장하십시오. 나는이 솔루션들 중 어느 것이 당신을 위해 효과가 있을지 확신하지 못한다. 왜냐하면 당신이 입문 수업에서 이것을하고 완전한 언어를 사용하지 않는다면, 그들이 사용하는 언어 레벨에 의존 할 수 있기 때문이다.
0
아니요, 불가능합니다. 이것이 가능할 수도 있다는 생각을 어디서 얻었습니까?
관련 문제
- 1. 구조체에서 이중 포인터를 액세스 및 execvp는
- 2. 구조체에서 함수 반환 (C)
- 3. 구조체에서 변수에 액세스하기
- 4. 구조체에서 이진 블록 만들기
- 5. 어떻게 두 포인터에 의해 지적 된 변수와 삭제를 사용 하는가?
- 6. OCaml의 OOP 구조체에서 타입을 결정하기
- 7. dojo 구조체에서 객체를 직접 호출
- 8. signalfd_siginfo 구조체에서 ssi_code를 어떻게 사용합니까?
- 9. 구조체에서 gsl 벡터 할당 해제
- 10. 구조체에서 pthread 조건 대기를 사용합니다.
- 11. 받고 노드
- 12. 로컬 파일에서 아이비 (ivy) 종속성을 지적 하시겠습니까?
- 13. C 포인터를 포인터를 자유롭게 사용
- 14. 왜 = 연산자는 정의되지 않은 구조체에서 작동합니까?
- 15. C/C++ 구조체에서 요소의 정렬을 결정하는 알고리즘
- 16. ->와 (와)의 차이점. 구조체에서?
- 17. 목록의 구조체에서 상태를 변경할 수없는 이유는 무엇입니까?
- 18. tm 구조체에서 날짜 문자열을 tm_wday로 변환하는 방법
- 19. C 언어를 사용하여 구조체에서 char 이름을 정렬하려면
- 20. C#의 구조체에서 "this"를 반환하면 어떻게됩니까?
- 21. ctype 구조체에서 파이썬 문자열을 어떻게 작성합니까?
- 22. 어떻게 구조체에서 호출하는 방법을 구글 모의에
- 23. Win32API 구조체에서 cbSize 멤버의 목적은 무엇입니까
- 24. 변수를 구조체에서 메소드로 전송하는 방법은 무엇입니까?
- 25. POD 구조체에서 상속받은 클래스에서 복사 생성자 정의
- 26. 함수 포인터를 인수로 취하는 함수 포인터를 만듭니다.
- 27. 함수 포인터를 인수로 취하는 함수 포인터를 만듭니다.
- 28. 포인터를 참조 해제하고 한 문장으로 포인터를 올리십시오.
- 29. 구글지도 받고 경도 값
- 30. 안드로이드 받고 응답은
어쩌면 거기에 메모리를 읽으려는 나에게 제공 할 수있는 몇 가지 "마법"이있을 수 있습니다. – Hellnar
불행히도, 인코딩 마법에 대한 데이터 구조는 없습니다. 공통된 지식은 적어도 없습니다. 신만이 Google 서버가 실행되는 것을 압니다 ;-) – ddaa