나는 수백만 개의 64 비트 부호없는 정수가있는 바이너리 파일을 가지고 있습니다. 파일에서 중복 된 숫자를 제거하기 만하면됩니다. 내 생각은 각 요소에 해시 테이블을 만드는 것이 하나의 숫자가 될 것이고 파일의 위치 일 것입니다. 중복 된 숫자를 검색하여 위치를 기준으로 제거 할 수 있습니다.C 파일의 중복 된 숫자를 제거합니다.
어떻게 구현하면 더 좋을까요?
[편집] 중복 된 숫자를 제거하면 크기가 여전히 64 비트이기 때문에 중복 된 숫자가 0으로 다시 채워지는 것을 의미하지는 않습니다. 따라서 두 가지 옵션이 있다고 생각합니다. 또는 전체 파일을 다시 작성하거나 고유 번호가있는 새 파일을 만드는 것은 중복되지 않은 것을 의미합니다.
질문이 명확하지 않습니다. 자세한 내용을보십시오. – Jurlie
"파일에서 번호 제거"란 무엇을 의미합니까? 0으로 바꾸시겠습니까? 정말로 제거하고 싶다면 전체 파일을 다시 작성해야합니다. –
분명히하는 한 가지. 당신이 그들을 제거한다면, 왜 당신은 그들의 위치를 지키고 있습니까? 첫 번째 숫자의 위치만으로 충분하지 않을까요? – Fred