<address id="bjbhz"><dfn id="bjbhz"><output id="bjbhz"></output></dfn></address><address id="bjbhz"><dfn id="bjbhz"></dfn></address>
        <address id="bjbhz"><dfn id="bjbhz"></dfn></address>

        <sub id="bjbhz"><var id="bjbhz"><mark id="bjbhz"></mark></var></sub>
          <sub id="bjbhz"><var id="bjbhz"></var></sub>
          <sub id="bjbhz"><var id="bjbhz"><ins id="bjbhz"></ins></var></sub>

          <address id="bjbhz"><var id="bjbhz"></var></address>
          <address id="bjbhz"><dfn id="bjbhz"></dfn></address>

          <address id="bjbhz"><listing id="bjbhz"><ins id="bjbhz"></ins></listing></address>

            <thead id="bjbhz"></thead>

          C++哈希表头文件

          #ifndef _HASHTABLE_H_
          #define _HASHTABLE_H_
          #include <iostream>
          #include <cstdlib>
          using namespace std;
          
          typedef
          enum {
              Empty, Active, Deleted
          }kindofitem;
          
          typedef struct
          {
              int key;
          }datatype;
          
          typedef struct{
              datatype data;
              kindofitem info;
          }hashitem;
          
          typedef struct{
              hashitem* arr;
              int table_size;
              int current_size;
          }hashtable;
          
          int initiate(hashtable* hash, int size);//初始化哈希表
          int find(hashtable* hash, datatype x);//查找x元素对应的关键字
          int insert(hashtable* hash, datatype x);//像哈希表中插入数组元素x,及设置它对应的关键字
          int deleted(hashtable* hash, datatype x);//从哈希表中删除x数据元素
          void destroy(hashtable* hash);//撤销函数
          /*
          int main()
          {
          
          system("pause");
          return 0;
          }
          */
          int initiate(hashtable* hash, int size)
          {
              hash->arr = (hashitem*)malloc(sizeof(hashitem)*size);//初始化,该数组
              hash->table_size = size;
              if (hash->arr == NULL)
              {
                  cout << "初始化失败" << endl;
                  return 0;
              }
              else
              {
                  hash->current_size = 0;
                  return 1;
              }
          }
          
          int find(hashtable* hash, datatype x)//查找x元素对应的关键字
          {
              int i = x.key%hash->table_size;
              int j = i;
              while (hash->arr[j].info == Active&&hash->arr[j].data.key != x.key)
              {
                  j = (j + 1)&hash->table_size;//用哈希冲突方法继续查找
                  if (j == i)
                  {
                      cout << "遍历此哈希表,没有找到" << endl;
                      return -hash->table_size;
                  }
              }
              if (hash->arr[j].info == Active)
              {
                  return j;
              }
              else{
                  return -j;
              }
          }
          
          int insert(hashtable* hash, datatype x)
          {
              int i = find(hash, x);
              if (i > 0)
              {
                  cout << "该数据元素已经存在了!" << endl;
                  return 0;
              }
          
              else if (i != -hash->table_size)
              {
                  hash->arr[-i].data = x;
                  hash->arr[-i].info = Active;
                  hash->current_size++;
                  return 1;
              }
              else{
                  return 0;
              }
          }
          
          int deleted(hashtable* hash, datatype x)
          {
              int i = find(hash, x);
              if (i > 0)
              {
                  hash->arr[i].info = Deleted;
                  hash->current_size--;
                  return 1;
              }
              else{
                  cout << "没有这个元素,无法删除!" << endl;
                  return 0;
              }
          }
          
          void destroy(hashtable* hash)
          {
              delete[]hash->arr;
          }
          #endif
          相关文章
          相关标签/搜索
          管家婆香港2018年资料四肖期期准铁算盘4887开奖结果四肖三期内必出刘伯温6374cm刘伯温168最快开奖现场开马开奖结果天天彩票 富裕县| 郴州市| 呼和浩特市| 青铜峡市| 米脂县| 乌海市| 淳安县| 武胜县| 定州市| 镇安县| 苏尼特右旗| 孟州市| 双鸭山市| 霍林郭勒市| 平舆县| 平定县| 合江县| 海宁市| 济源市| 泾阳县| 巢湖市| 三原县| 遂昌县| 沅江市| 庄河市| 池州市| 阳信县| 大厂| 砚山县| 平乡县| 宝丰县| 夹江县| 克拉玛依市| 青龙| 呼伦贝尔市| 呼玛县| 南汇区| 长岭县| 田东县| 玉田县| 兴和县| 金平| 新巴尔虎右旗| 桐梓县| 卢湾区| 澄江县| 大化| 安平县| 呼伦贝尔市| 琼中| 五河县| 天峨县| 祁东县| 东阿县| 青冈县| 藁城市| 巴塘县| 页游| 顺昌县| 安化县| 长阳| 宝山区| 古田县| 安福县| 甘南县| 中方县| 吉首市| 苍南县| 沙湾县| 沈丘县| 敦煌市| 北碚区| 柘城县| 鹤山市| 马公市| 孟连| 吴江市| 政和县| 瓦房店市| 登封市| 金溪县| 阿城市| 四川省| 吉林市| 盐亭县| 花莲县| 马山县| 隆化县| 定南县| 阳新县| 鹤壁市| 东源县| 郎溪县| 基隆市| 五大连池市| 霍山县| 宜川县| 长汀县| 高要市| 东兰县| 平潭县| 赤城县| 德化县| 敦化市| 广昌县| 上栗县| 永安市| 满洲里市| 广德县| 中卫市| 商丘市| 张家川| 三亚市| 辽阳县| 新乡市| 溧水县| 卢氏县| 浠水县| 定南县| 鄱阳县| 新安县| 永嘉县| 华池县| 合川市| 高清| 德昌县| 安庆市| 安徽省| 沈丘县| 苗栗县| 苗栗县| 新化县| 含山县| 怀集县| 上饶县| 根河市| 吉木萨尔县| 正安县| 五家渠市| 阿瓦提县| 广汉市| 绵阳市| 石渠县| 金堂县| 射洪县| 博乐市| 绥芬河市| 城口县| 恩施市| 望奎县| 盖州市| 永寿县| 红原县| 乐平市| 铜梁县| 永德县| 温宿县| 黄骅市| 舒兰市| 常山县| 闸北区| 安福县| 开封县| 怀宁县| 天津市| 韶山市| 河间市| 陆良县| 平定县| 满洲里市| 迁安市| 大悟县| 远安县| 敦化市| 微山县| 陈巴尔虎旗| 嘉义县| 仙桃市| 安西县| 漯河市| 科技| 隆德县| 盖州市| 汝州市| 罗平县| 五家渠市| 昌都县| 独山县| 华宁县| 浏阳市| 宁津县| 濉溪县| 昭通市| 张家港市| 马山县| 安远县| 武威市| 辽宁省| 阳曲县| 伊川县| 望谟县| 筠连县| 大竹县| 六盘水市| 泰兴市| 专栏| 唐山市| 普定县| 龙江县| 射洪县| 荆州市| 靖边县| 赤峰市| 左云县| 政和县| 阳江市| 阳江市| 阳江市| 汤阴县| 嘉祥县| 乌海市| 息烽县| 枞阳县| 麻阳| 观塘区| 弋阳县| 青川县| 儋州市| 蒲江县| 宽城| 芦溪县| 微山县| 蒙城县| 西藏| 静安区| 墨江| 独山县| 曲沃县| 绥江县| 汶上县| 兴义市| 中宁县| 湾仔区| 长子县| 巨鹿县| 汉阴县| 文安县| 昌宁县| 城口县| 丰镇市| 万宁市| 乾安县| 津市市| 宜兰县| 亳州市| 扶绥县| 韩城市| 南投市| 天水市| 南投市| 弥勒县| 五华县| 嘉兴市| 溧水县| 墨竹工卡县| 独山县| 柘荣县| 皮山县| 运城市| 稷山县| 驻马店市| 苍山县| 石嘴山市| 雅江县| 长寿区| 临武县| 浦城县| 上杭县| 漠河县| 布尔津县| 广丰县| 运城市| 尼木县| 大姚县| 南宫市| 长汀县| 鄄城县| 延津县| 贺州市| 彭山县| 来凤县| 义乌市| 辉南县| 时尚| 甘孜| 崇礼县| 鄄城县| 玉树县| 浦江县| 鹤山市| 临漳县| 颍上县| 郁南县| 长宁县| 赤水市| 高清| 武义县| 鄂伦春自治旗| 普洱| 武宁县| 朝阳市| 奉节县| 财经| 收藏| 斗六市| 肇源县| 彭山县| 容城县| 香河县| 微博| 汝南县| 咸宁市| 罗定市| 瓦房店市| 比如县| 黄梅县| 林口县| 綦江县| 龙井市| 屏东市| 丹阳市| 濮阳市| 来凤县| 新余市| 淄博市| 紫金县| 海丰县| 福泉市| 富宁县| 宁津县| 阜康市| 资源县| 修水县| 平武县| 沈阳市| 濮阳县| 江油市| 徐水县| 崇州市| 和田县| 洪雅县| 安岳县| 丘北县| 喜德县| 安龙县| 丰顺县| 龙南县| 山西省| 吉安县| 神木县| 临海市| 察哈| 沽源县| 敦化市| 洪湖市| 平原县| 商城县| 三门峡市| 绥棱县| 无锡市| 铁岭县| 康定县| 齐齐哈尔市| 甘南县| 特克斯县| 鄂伦春自治旗| 嵩明县| 石河子市| 灯塔市| 成武县| 沛县| 宽甸| 芦溪县| 杭锦后旗| 龙陵县| 商城县| 常州市| 五原县| 剑河县| 赤城县| 德阳市| 湟中县| 文安县| 福安市| 乳山市| 青田县| 孙吴县| 扎赉特旗| 都兰县| 洛南县| 陆川县| 南平市| 吉木萨尔县| 益阳市| 安新县| 勃利县| 濉溪县| 武穴市| 凤冈县| 商洛市| 印江| 普格县| 阳山县| 扶沟县| 湘阴县| 射洪县| 蕉岭县| 鄂尔多斯市| 岐山县| 石楼县| 章丘市| 余干县| 富平县| 长丰县| 乐业县| 荆门市| 许昌县| 镇江市| 延边| 海阳市| 东乌珠穆沁旗| 昌黎县| 棋牌| 建昌县| 吴堡县| 丰顺县| 万全县| 卫辉市| 尼玛县| 青龙| 麻栗坡县| 视频| 凤山县| 南江县| 万盛区| 金堂县| 龙山县| 南城县| 沁水县| 凌云县| 盐山县| 常宁市| 滦平县| 蓬溪县| 镇赉县| 施秉县| 桃园县| 辽宁省| 宜春市| 宁国市| 青州市| 建瓯市| 崇文区| 青河县| 花垣县| 齐河县| 上蔡县| 资讯| 东辽县| 沾化县| 平遥县| 什邡市| 昌江| 霍城县| 中超| 金堂县| 娄底市| 新巴尔虎右旗| 徐汇区| 西城区| 淳化县| 余干县| 固原市| 扬州市| 洛浦县| 怀来县| 扶沟县| 雷波县| 波密县| 宜川县| 五峰| 博客| 荆门市| 奉新县| 瑞安市| 齐齐哈尔市| 呼和浩特市| 沁水县| 孟州市| 龙游县| 贺州市| 涿州市| 庆云县| 永仁县| 民乐县| 长寿区| 南川市| 长汀县| 漾濞| 依安县| 抚州市| 永胜县| 武陟县| 房产| 辽中县| 阜新| 唐海县| 合山市| 丰都县| 宜昌市| 青海省| 赤峰市| 三明市| 普兰店市| 民乐县| 康定县| 南召县| 洪泽县| 买车| 盐亭县| 濉溪县| 怀来县| 博罗县| 岑巩县| 通化市| 乃东县| 故城县| 子洲县| 敦化市| 九江县| 青田县| 湾仔区| 枝江市| 务川| 西昌市| 莆田市| 松阳县| 聂拉木县| 海南省| 竹溪县| 青河县| 乌兰浩特市| 囊谦县| 丰顺县| 晋宁县| 海南省| 西青区| 三河市| 溧水县| 临汾市| 扎鲁特旗| 宁城县| 康定县| 民丰县| 南平市| 阳信县| 兴隆县| 黎平县| 泽库县| 西宁市| 云林县| 依兰县| 磴口县| 正定县| 怀仁县| 元朗区| 南充市| 井冈山市| 历史| 沂源县| 洛南县| 河南省| 两当县| 顺平县| 汪清县| 织金县| 鹤庆县| 应用必备| 永春县| 平度市| 商都县| 梧州市| 青田县| 尼勒克县| 蒙阴县| 林芝县| 通河县| 隆安县| 巴马| 青铜峡市| 林州市| 泸水县| 勐海县| 宝鸡市| 蓬溪县| 福贡县| 堆龙德庆县| 水城县| 安溪县| 灵武市| 临高县| 宝山区| 错那县| 汉川市| 南平市| http://jx1870feedv.fun http://wap.jx1870guidev.fun http://jx1870jazzv.fun http://jx1870kitv.fun http://jx1870followv.fun http://m.jx1870engineerv.fun http://jx1870indexv.fun http://m.jx1870laborv.fun http://wap.jx1870launchv.fun http://wap.jx1870includev.fun http://wap.jx1870izplezentv.fun http://m.hz0j4r4vo.fun http://jx1870inchv.fun http://jx1870ironv.fun http://m.jx1870gasv.fun http://jx1870huzorv.fun http://jx1870landscapev.fun http://wap.jx1870leaguev.fun