오늘 개발자 위치에 대해 인터뷰를했는데 그 답변을 모른다는 흥미로운 techincal 질문을 받았습니다. 누군가 내 호기심에 대한 해결책을 제공 할 수 있는지 여기에서 질문 할 것입니다.링크 된 목록에서 손상 찾기
1) 100 개 요소 (정수 및 다음 노드에 대한 포인터)가있는 단일 링크 목록이 제공되고 링크 된 부분의 중간에 끊기 또는 손상이 있는지 감지하는 방법을 찾습니다. 명부? 연결된 목록으로 무엇이든 할 수 있습니다. 목록에서 반복 수행 중이므로 목록에서이 작업을 수행해야하며 목록에 문제가 있다는 것을 알기 전에 확인 작업을 수행해야합니다.
연결 목록의 중단 부분이 50 번째 요소라고 가정하면 정수 또는 심지어 다음 노드 (51 번째 요소)에 대한 포인터가 잘못된 주소가 아닌 쓰레기 값을 가리킬 수도 있습니다.
2) 연결된 목록이 손상된 경우 어떻게 데이터 손실을 최소화 할 수 있습니까?
"잘못된 주소 일 필요는 없습니다"C# 또는 Java의 잘못된 주소에 대한 포인터는 어떻게 C?의 안전하지 않은 키워드 또는 일부 기본 상호 운용성 (P/Invoke, JNI)을 금지합니까? –
먼저 "손상"을 정의해야합니다. – SimpleVar
이 태그를 C# 및 Java로 태그 지정하는 것이 정말로 맞습니까? 그들은 포인터가 없습니다 (안전하지 않은 C# 코드를 작성하지 않는 한) 및 참조가 잘못된 주소를 가리킬 수 없습니다. 질문은 C 또는 C++에서 더 적합합니다. –