unsigned int BKDRHash(char *str)

{

  unsigned int seed = 131;

  unsigned int hash = 0;

  while (*str)

    hash = hash * seed + (*str++);

  return (hash & 0x7FFFFFFF % x);// x是一个大素数   根据题意  然后数组 开一个 和x 一样大的...然后求神犇解答                     这个& 0x7FFFFFFF 有什么作用话说我也不懂 求神牛给个解答......

}