青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

隨筆-91  評(píng)論-137  文章-0  trackbacks-0
  1 #include <iostream>
  2 
  3 template <typename _Type>
  4 class HashTable
  5 {
  6 public:
  7     HashTable(int Length)
  8     {
  9         Element = new _Type[Length];
 10         for(int i=0;i<Length;i++)
 11             Element[i] = -1;
 12         this->Length = Length;
 13         Count = 0;
 14     }
 15     
 16     ~HashTable()
 17     {
 18         delete[] Element;
 19     }
 20     
 21     // Hash函數(shù)
 22     virtual int Hash(_Type Data)
 23     {
 24         return Data % Length;
 25     }
 26     
 27     // 再散列法
 28     virtual int ReHash(int Index,int Count)
 29     {
 30         return (Index + Count) % Length;
 31     }
 32     
 33     // 查找某個(gè)元素是否在表中
 34     virtual bool SerachHash(_Type Data,int& Index)
 35     {
 36         Index = Hash(Data);
 37         int Count = 0;
 38         while(Element[Index] != -1 && Element[Index] != Data)
 39             Index = ReHash(Index,++Count);
 40         return Data == Element[Index] ? true : false;
 41     }
 42     
 43     virtual int SerachHash(_Type Data)
 44     {
 45         int Index = 0;
 46         if(SerachHash(Data,Index)) return Index;
 47         else return -1;
 48     }
 49     
 50     // 插入元素
 51     bool InsertHash(_Type Data)
 52     {
 53         int Index = 0;
 54         if(Count < Length && !SerachHash(Data,Index))
 55         {
 56             Element[Index] = Data;
 57             Count++;
 58             return true;
 59         }
 60         return false;
 61     }
 62     
 63     // 設(shè)置Hash表長度
 64     void SetLength(int Length)
 65     {
 66         delete[] Element;
 67         Element = new _Type[Length];
 68         for(int i=0;i<Length;i++)
 69             Element[i] = -1;
 70         this->Length = Length;
 71     }
 72     
 73     // 刪除某個(gè)元素
 74     void Remove(_Type Data)
 75     {
 76         int Index = SerachHash(Data);
 77         if(Index != -1)
 78         {
 79             Element[Index] = -1;
 80             Count--;
 81         }
 82     }
 83     
 84     // 刪除所有元素
 85     void RemoveAll()
 86     {
 87         for(int i=0;i<Length;i++)
 88             Element[i] = -1;
 89         Count = 0;
 90     }
 91     
 92     void Print()
 93     {
 94         for(int i=0;i<Length;i++)
 95             printf("%d ",Element[i]);
 96         printf("\n");
 97     }
 98 protected:
 99     _Type* Element;        // Hash表
100     int Length;                // Hash表大小
101     int Count;                // Hash表當(dāng)前大小
102 };
103 
104 void main()
105 {
106     HashTable<int> H(10);
107     printf("Hash Length(10) Test:\n");
108     int Array[6= {49,38,65,97,13,49};
109     for(int i=0;i<6;i++)
110         printf("%d\n",H.InsertHash(Array[i]));
111     H.Print();
112     printf("Find(97):%d\n",H.SerachHash(97));
113     printf("Find(49):%d\n",H.SerachHash(49));
114     H.RemoveAll();
115     H.SetLength(30);
116     printf("Hash Length(30) Test:\n");
117     for(int i=0;i<6;i++)
118         printf("%d\n",H.InsertHash(Array[i]));
119     H.Print();
120     printf("Find(97):%d\n",H.SerachHash(97));
121     printf("Find(49):%d\n",H.SerachHash(49));
122     system("pause");
123 }


運(yùn)行結(jié)果:


由上圖可知給定的Hash表長度越長越不容易產(chǎn)生沖突,性能也就越高.

posted on 2010-08-10 23:37 lwch 閱讀(583) 評(píng)論(1)  編輯 收藏 引用 所屬分類: 數(shù)據(jù)結(jié)構(gòu)

評(píng)論:
# re: 簡(jiǎn)單的Hash表實(shí)現(xiàn) 2013-05-03 15:57 | tb
這個(gè)比較有用吧   回復(fù)  更多評(píng)論
  
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            日韩视频免费| 亚洲一区二区毛片| 一道本一区二区| 欧美三级视频在线| 久久久精品视频成人| 欧美在线观看视频在线| 午夜精品久久久久影视 | 麻豆成人在线| 免费亚洲一区| 欧美午夜国产| 好看的亚洲午夜视频在线| 伊人久久亚洲影院| 91久久久久久久久久久久久| 一区二区三区欧美在线| 欧美亚洲在线观看| 欧美mv日韩mv国产网站app| 亚洲美女免费精品视频在线观看| 亚洲一区精彩视频| 欧美aⅴ99久久黑人专区| 国产精品www.| 亚洲国产天堂久久综合网| 亚洲一区在线直播| 嫩草影视亚洲| 亚洲免费影视| 欧美精品一区视频| 国产日韩欧美中文| 日韩天堂在线视频| 久久久综合视频| 99国产精品自拍| 久久久久国产精品www| 国产精品高潮呻吟久久av无限| 国产小视频国产精品| 一区二区三区高清在线| 你懂的国产精品永久在线| 亚洲欧美国产高清| 欧美性一区二区| 亚洲日本中文| 每日更新成人在线视频| 欧美一级欧美一级在线播放| 国产精品久久久久久久久免费樱桃| 亚洲国产日韩欧美在线图片 | 亚洲片区在线| 久久久精品国产免费观看同学| 99riav1国产精品视频| 老司机成人在线视频| 国产一区二区三区自拍| 午夜一级久久| 亚洲永久免费av| 欧美四级在线| 日韩视频久久| 亚洲缚视频在线观看| 久久精品夜色噜噜亚洲aⅴ| 国产精品视频不卡| 亚洲欧美电影在线观看| 一区二区三区四区五区精品视频 | 亚洲一区二区三区四区在线观看 | 猛男gaygay欧美视频| 欧美一级专区| 国产乱理伦片在线观看夜一区| 在线亚洲观看| 夜色激情一区二区| 欧美日韩精品综合| 这里只有精品电影| 99视频+国产日韩欧美| 欧美精品久久一区| 日韩视频在线免费观看| 最新日韩在线视频| 欧美日韩精品一本二本三本| 在线一区二区日韩| 一区二区黄色| 国产欧美日韩综合一区在线播放| 欧美一区二区三区免费观看 | 久久精品视频va| 亚洲成色777777女色窝| 欧美国产日韩在线| 欧美日韩视频在线一区二区观看视频| 亚洲一二三区在线| 亚洲欧美日产图| 在线精品亚洲| 亚洲精品国产品国语在线app| 欧美人交a欧美精品| 亚洲免费伊人电影在线观看av| 亚洲女人av| 在线精品一区| 一本色道久久综合亚洲精品小说| 国产精品午夜av在线| 蜜桃精品一区二区三区| 欧美国产视频一区二区| 亚洲一区二区三区精品动漫| 欧美在现视频| 一区二区三区四区精品| 久久精品在线观看| 亚洲一区二区三区四区中文| 久久精品视频一| 亚洲一区在线看| 久久在线91| 亚洲欧美日韩综合aⅴ视频| 久久午夜羞羞影院免费观看| 亚洲视频在线看| 噜噜噜91成人网| 亚洲午夜在线| 老司机精品导航| 欧美专区福利在线| 欧美日韩国产影片| 欧美风情在线观看| 国产欧美亚洲精品| 日韩午夜av电影| 亚洲第一偷拍| 午夜在线一区| 亚洲一区在线看| 欧美另类变人与禽xxxxx| 亚洲激情国产| 久热精品视频在线观看| 亚洲欧美一区二区激情| 欧美sm重口味系列视频在线观看| 午夜精品久久久久| 欧美日韩精品免费观看| 亚洲高清在线观看一区| 国产日韩欧美在线观看| 一区二区日韩精品| 日韩一区二区久久| 久久婷婷人人澡人人喊人人爽| 欧美一区影院| 国产精品视频午夜| 一区二区三区日韩精品视频| 亚洲裸体视频| 免费短视频成人日韩| 男女精品网站| 在线看欧美视频| 久久精品国产一区二区三区| 欧美在线观看网址综合| 国产精品任我爽爆在线播放 | 久久亚洲影院| 美女日韩欧美| 尤物九九久久国产精品的分类| 欧美一区二区私人影院日本| 亚洲欧美三级伦理| 国产精品资源| 久久精品日产第一区二区| 狂野欧美激情性xxxx| 很黄很黄激情成人| 久久久精品2019中文字幕神马| 久久人人九九| 91久久久亚洲精品| 欧美精品 日韩| 99国产精品久久| 亚洲欧美电影在线观看| 国产日韩亚洲欧美| 久久综合亚州| 99re6热只有精品免费观看| 亚洲一二三区在线观看| 国产精品日韩欧美综合| 欧美亚洲日本一区| 欧美不卡视频一区发布| 日韩一级片网址| 国产精品国产三级国产aⅴ无密码| 亚洲一区二区伦理| 久久视频精品在线| 亚洲日本激情| 国产精品呻吟| 免费视频一区二区三区在线观看| 亚洲国产综合91精品麻豆| 一区二区三区久久精品| 国产免费亚洲高清| 久久久噜噜噜久久中文字幕色伊伊| 欧美激情精品久久久久久黑人| 一区二区三区精品国产| 国产亚洲人成网站在线观看| 女女同性精品视频| 在线视频精品一区| 久久久夜夜夜| 亚洲视频在线二区| 一区二区亚洲精品| 国产精品乱码一区二区三区| 噜噜噜久久亚洲精品国产品小说| 中文在线资源观看网站视频免费不卡 | 亚洲视频中文字幕| 一本大道av伊人久久综合| 久久av二区| 久久青青草原一区二区| 欧美精品一区二区三区蜜臀| 在线 亚洲欧美在线综合一区| 亚洲一二区在线| 亚洲国产高清在线| 国产欧美在线| 一区二区三区www| 亚洲一区二区毛片| 久久蜜桃精品| 久久av一区| 亚洲第一精品在线| 亚洲国产毛片完整版 | 亚洲欧美另类中文字幕| 久久九九全国免费精品观看| 一区二区三区久久网| 国产精品国产三级国产普通话99| 亚洲图片在区色| 91久久国产综合久久91精品网站| 日韩一级片网址| 在线午夜精品| 久久久久久久久岛国免费|