Chinaunix

标题: 哈希 [打印本页]

作者: framily    时间: 2015-05-10 08:40
标题: 哈希
  1. #include <iostream>

  2. using namespace std;
  3. enum {COUNT=17};
  4. typedef int DATA;
  5. struct SNode
  6. {
  7.         DATA data;
  8.         SNode* pNext;
  9. };
  10. SNode* g_hash[COUNT]={NULL};
  11. void SetAt(DATA data)
  12. {
  13.         int n = data%COUNT;
  14.         SNode* p = new SNode;
  15.         p->data = data;
  16.         p ->pNext = g_hash[n];
  17.         g_hash[n] = p;
  18. }
  19. bool Lookup(DATA data)
  20. {
  21.         int n = data%COUNT;
  22.         SNode* p = g_hash[n];
  23.         while(p)
  24.         {
  25.                 if (p->data == data)
  26.                         return true;
  27.                 p->pNext;
  28.         }
  29.         return false;
  30. }
  31. int main()
  32. {
  33.         SetAt(32);
  34.         SetAt(32+17);
  35.         SetAt(536);
  36.         SetAt(2267);
  37.         SetAt(2257);
  38.         SetAt(24);
  39.         SetAt(996);
  40.         SetAt(43758);
  41.         SetAt(343463);
  42.         SetAt(23234);
  43.         SetAt(6666);

  44.         if (Lookup(48))
  45.                 cout << "找到了" << endl;
  46.         else
  47.                 cout << "没有找到" << endl;
  48.         return 0;
  49. }
复制代码

作者: dorodaloo    时间: 2015-05-12 11:00
这个方法很好很牛逼




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2