문자열을 정수로 해시하는 C++의 해시 함수를 찾고 있습니다. 나는 CMapStringToPtr을 사용했지만 "GetNextAssoc"라는 함수를 사용하여 문자열을 키로 검색 할 수 있습니다. 즉 문자열을 저장해야하며 너무 많은 메모리를 가져옵니다. 메모리가 적어지고 문자열을 저장하지 않는 다른 해시 함수가 있습니까?문자열에서 int 로의 C++에서 해시 함수
4
A
답변
9
+0
아마도 틀 렸지만 링크가 SGI 확장 (SGI
+0
나는 절반을 말하고 싶다. 확장 기능이라고 생각하지만 시스템에없는 경우 매우 놀랍습니다. 거의 모든 곳에서 사용됩니다. –
+0
mod에서 어떤 값으로 무엇을 의미합니까? – dustinyourface
2
에 의해 MOD, 그 문자 하나 하나를 통해 const를 참조 사이클에 의해 문자열을 전달
int hash(const string &key, int tableSize) {
int hashVal = 0;
for(int i = 0; i<key.length(); i++)
hashVal = 37*hashVal+key[i];
hashVal %= tableSize;
if(hashVal<0)
hashVal += tableSize;
return hashVal;
}
관련 문제
- 1. int 배열을위한 C++ 해시 함수
- 2. SQL Server 2008 - 문자열에서 int 로의 변환이 실패합니다.
- 3. double에서 int 로의 변환
- 4. C에서 문자열에 SHA512 해시
- 5. int **에서 const int ** 로의 변환이 잘못되었습니다 **
- 6. 문자열에서 JavaScript 파싱 int
- 7. C에서 문자열에서 double을 추출합니다.
- 8. C에서 함수 #
- 9. 문자열에서 해시 태그 추출
- 10. 루비 문자열에서 해시 변환
- 11. 해시 함수
- 12. 해시 함수 란 무엇입니까?
- 13. C에서 문자열에서 액센트를 제거
- 14. C에서 문자열에서 문자를 제거
- 15. 로그인 C에서 int 확장
- 16. C에서 짧은 int 리터럴
- 17. INT 포인터 C에서
- 18. 해시 함수 사용
- 19. 간단한 해시 함수 기법
- 20. C에서 함수 포인터의 typedef에 대한 순환 참조
- 21. 좋은 해시 함수
- 22. 해시 테이블 조회 - C에서 완벽한 해시 사용
- 23. 문자열에서 XBox 로의 XAML 바인딩이 작동하지 않습니다.
- 24. float에서 int 로의 변환이 이상하게 보입니다.
- 25. 파이썬에서 float에서 int 로의 변환이 더 빠릅니다.
- 26. int에서 int 로의 변환이 잘못되었습니다. ** C++
- 27. 두 문자열에서 유일한 해시 만들기
- 28. C에서 작동하지 않는 함수
- 29. C에서 일반적인 함수 포인터
- 30. C에서 함수 오버로딩이 작동합니까?
'std :: hash()()'을 사용해보십시오. –
질문을 이해할 수 있는지 잘 모르겠습니다. 해시 함수를 사용할 거의 모든 장소에서 해시 함수에는 모두 충돌이 있으므로 해시 함수를 사용하여 원본 데이터를 추적해야하며 해시를 기반으로하는 조회가 필요하면 원래 데이터가 필요하므로 충돌을 해결해야합니다. 그들은 발생합니다. – Omnifarious
네,하지만 메모리 사용량 때문에 원본 데이터를 유지할 필요가 없습니다. 또한 충돌을 해결하고 싶지 않습니다. 실제로 목표는 충돌을 유지하는 것입니다! – Bipario