많은 수의 정수를 저장해야합니다. 정수의 입력 스트림에 중복이있을 수 있습니다. 그 중 하나를 구분하기 위해서는 이 필요합니다. 처음에는 stl 세트를 사용했지만 정수가 너무 많이 입력되면 OutOfMem이 발생했습니다. 은 아마도 상기 요구 사항과 함께 번호를 저장할 수있는 C++ 컨테이너 라이브러리를 찾고 있습니다. 즉, 컨테이너가 모든 번호를 유지하려고 시도해서는 안됩니다. 즉, 파일로 백업됩니다. 이 데이터를 지속적으로 저장할 필요는 없으며 그 중 유일한 값은 입니다. 당신이 RAM보다 더 필요하기 때문에C++ 용 컨테이너처럼 확장 가능한 stl 세트
2
A
답변
0
1
볼 수 있습니다; 네가 찾고있는 것일 수도있어.
편집 : 내가 직접 사용하지 않은,하지만 문서에서 - 당신은 stream::unique
을 사용하여 마지막으로 정렬 된 스트림을 병합하고 다음 stream::runs_merger
을 데이터 (메모리에서 아무리 맞는)의 정렬 된 실행을 만들 stream::runs_creator
를 사용할 수 있습니다 순 쿠키를 필터링합니다.
0
0
너무 느리다는 결론을 내리기 전에 데이터베이스를 심각하게 시험해보아야합니다. 가벼운 키 - 값 저장소 중 하나만 있으면됩니다. 과거에는 Berkeley DB를 사용했지만 여기서는 list of other ones입니다.
정수 값의 범위는 무엇입니까? – sbk
나는이 질문에 너무 당혹 스럽지만 어쩌면 당신은 64 비트 용으로 앱을 재건하고 64 비트 시스템에서 실행할 수 있습니다. – OldFart
문제는 메인 mem은 모든 숫자를 담을만큼 크지 않다는 것과 우리는 container와 같은 external-mem-backed 세트가 필요하다는 점입니다. – Pqr