如何从3个有序的int创建哈希?

时间:2019-01-22 11:27:51

标签: c++ hash

假设我有这样的结构

struct point3d{

  int x;

  int y;

  int z;

};

如何从此结构创建哈希值? 谢谢

1 个答案:

答案 0 :(得分:-1)

很大程度上取决于您要实现什么以及需要多少分配。

大多数非加密哈希类似于:

int64_t Hash(const point3d & point){
       int64_t start = 1234; //magic number
       int64_t multiplier = 3467; //some other magic number
       int64_t hash = start + point.x;
       hash = hash*multiplier + point.y;
       hash = hash * multiplier + point.z;
       return hash;

}

通过调整startmultiplier在您的数据集上进行测试。