• <input id="m8qcc"><u id="m8qcc"></u></input>
  • <menu id="m8qcc"></menu>
  • <input id="m8qcc"></input>
  • <input id="m8qcc"></input>
  • 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
    相关文章
    相关标签/搜索
    990991葳宝阁开奖资料六开彩开奖现场直播2020香港六合马会开奖结果现场直播开奖历史资料记录在线查询网 郎溪县| 平塘县| 镇赉县| 广水市| 黄浦区| 壶关县| 玉山县| 昭苏县| 靖西县| 晋江市| 若羌县| 刚察县| 嘉定区| 桂平市| 沁源县| 永济市| 郑州市| 清涧县| 绿春县| 松滋市| 绵竹市| 襄汾县| 尉犁县| 泰顺县| 仁寿县| 巴里| 山丹县| 陵川县| 芮城县| 东丰县| 祁阳县| 河源市| 扶绥县| 德阳市| 漳浦县| 房产| 福建省| 唐海县| 九龙城区| 新干县| 银川市| 东乌珠穆沁旗| 通化县| 宝应县| 内丘县| 高要市| 江源县| 福州市| 无棣县| 乌鲁木齐县| 龙门县| 哈巴河县| 图们市| 金沙县| 崇文区| 买车| 大邑县| 梧州市| 灵璧县| 滨州市| 元江| 定兴县| 饶平县| 青岛市| 克东县| 西安市| 普定县| 策勒县| 策勒县| 长治县| 盱眙县| 宜丰县| 洪湖市| 安龙县| 贞丰县| 沅陵县| 隆安县| 新丰县| 佳木斯市| 长丰县| 剑阁县| 新竹县| 深州市| 东兰县| 临沧市| 昂仁县| 甘肃省| 沙湾县| 凉山| 镶黄旗| 汽车| 民丰县| 华蓥市| 通城县| 卢龙县| 吉水县| 筠连县| 榆中县| 泰安市| 林芝县| 贵德县| 临西县| 探索| 广灵县| 六枝特区| 南陵县| 河东区| 措美县| 孟津县| 阿拉尔市| 江达县| 江阴市| 灌阳县| 临清市| 昭平县| 巴东县| 博爱县| 无为县| 分宜县| 五家渠市| 正蓝旗| 那坡县| 铜陵市| 中西区| 太湖县| 宣恩县| 东莞市| 曲周县| 抚顺市| 五常市| 利津县| 来凤县| 兴山县| 镇平县| 南宫市| 靖远县| 晴隆县| 鹰潭市| 南部县| 邳州市| 志丹县| 顺义区| 抚宁县| 杭锦后旗| 元朗区| 屯门区| 区。| 霍林郭勒市| 四子王旗| 长海县| 美姑县| 绩溪县| 镇宁| 通辽市| 德阳市| 淳化县| 溧阳市| 枣庄市| 布拖县| 灵丘县| 莆田市| 翁牛特旗| 中宁县| 青海省| 福泉市| 建始县| 萍乡市| 呼伦贝尔市| 文化| 荔波县| 盖州市| 淅川县| 肃北| 山东省| 凌云县| 渑池县| 安岳县| 平顶山市| 乌拉特后旗| 长宁区| 吴堡县| 南汇区| 拉萨市| 大余县| 永善县| 利津县| 航空| 林芝县| 台东县| 将乐县| 信宜市| 阿拉尔市| 昭觉县| 桃江县| 石台县| 磴口县| 东丽区| 孟村| 东丰县| 荥经县| 全州县| 饶阳县| 四会市| 双柏县| 朝阳区| 南乐县| 博乐市| 清水河县| 新和县| 托克逊县| 桑植县| 商河县| 寿宁县| 鹿泉市| 湟源县| 舞钢市| 蒙山县| 迁西县| 乐平市| 贺州市| 雷波县| 丹凤县| 正宁县| 珲春市| 乌拉特中旗| 兴宁市| 金溪县| 乌兰察布市| 喀喇沁旗| 全州县| 洪洞县| 双牌县| 延边| 陆良县| 莱西市| 旅游| 南部县| 英超| 临泽县| 中江县| 信丰县| 孝感市| 义乌市| 龙岩市| 潮安县| 沈阳市| 平凉市| 扬州市| 北辰区| 淮北市| 理塘县| 叶城县| 多伦县| 吉水县| 桐柏县| 大足县| 扎囊县| 修文县| 永城市| 永丰县| 定陶县| 鸡泽县| 仲巴县| 江西省| 汾西县| 都昌县| 潜江市| 镇安县| 榆中县| 准格尔旗| 灵寿县| 介休市| 宣武区| 田阳县| 肇庆市| 安庆市| 安新县| 水富县| 开封县| 柳河县| 长顺县| 壶关县| 济源市| 宽甸| 西乡县| 手机| 延长县| 白沙| 许昌市| 禹州市| 鹰潭市| 友谊县| 察哈| 太湖县| 本溪| 都兰县| 双峰县| 清水河县| 徐州市| 夏邑县| 南昌县| 仙桃市| 宜宾市| 昭苏县| 和龙市| 策勒县| 华宁县| 泰安市| 拜泉县| 正镶白旗| 新津县| 土默特右旗| 三都| 温泉县| 哈尔滨市| 南安市| 双柏县| 望都县| 望城县| 保山市| 大名县| 梅州市| 富民县| 蓝山县| 萝北县| 沧州市| 开阳县| 郎溪县| 呈贡县| 长汀县| 丹东市| 文登市| 澳门| 大邑县| 中卫市| 呼图壁县| 仁化县| 奉贤区| 兰西县| 乌鲁木齐市| 三河市| 金昌市| 道孚县| 永定县| 海城市| 昔阳县| 伊吾县| 威海市| 阿克苏市| 长兴县| 益阳市| 得荣县| 疏附县| 宁陕县| 汉中市| 阜康市| 德令哈市| 麟游县| 南昌市| 蒲城县| 固镇县| 冷水江市| 宕昌县| 厦门市| 汉源县| 西盟| 东乡| 麦盖提县| 新营市| 阿拉善左旗| 望城县| 宣威市| 电白县| 隆安县| 夏邑县| 广丰县| 青龙| 临海市| 玛纳斯县| 安庆市| 西畴县| 南通市| 恩平市| 大邑县| 永平县| 绵阳市| 兴宁市| 措勤县| 福海县| 望谟县| 茶陵县| 哈尔滨市| 石河子市| 沅江市| 伊金霍洛旗| 墨玉县| 南召县| 大同县| 建阳市| 德阳市| 天水市| 洪洞县| 北安市| 临江市| 四子王旗| 前郭尔| 健康| 江北区| 乐清市| 泗洪县| 大名县| 元谋县| 山阴县| 富顺县| 平谷区| 邹城市| 台南市| 海宁市| 南安市| 广水市| 宜宾市| 谢通门县| 揭西县| 乐安县| 息烽县| 通许县| 天镇县| 商南县| 象山县| 黑水县| 新乐市| 黑山县| 冷水江市| 阿合奇县| 沂源县| 仁布县| 育儿| 江孜县| 姚安县| 泸西县| 惠州市| 垫江县| 罗田县| 含山县| 和静县| 兰考县| 宾川县| 河北省| 大庆市| 郸城县| 北海市| 嵩明县| 刚察县| 客服| 比如县| 海南省| 新安县| 长海县| 固阳县| 富阳市| 泽普县| 广东省| 濉溪县| 南投县| 辉县市| 娄烦县| 明溪县| 合作市| 大庆市| 邵武市| 通城县| 盐亭县| 治县。| 阳春市| 华坪县| 宁强县| 琼结县| 岳阳市| 滕州市| 东乡族自治县| 当雄县| 烟台市| 壶关县| 巴彦县| 凭祥市| 盐津县| 昭苏县| 沿河| 蒙山县| 苍梧县| 新野县| 平邑县| 中超| 虹口区| 临泽县| 榆林市| 惠东县| 搜索| 温州市| 马关县| 连云港市| 宜宾县| 庄浪县| 依兰县| 永清县| 葵青区| 龙泉市| 津市市| 湖北省| 阜阳市| 巴林右旗| 依安县| 喀喇| 柳河县| 且末县| 金门县| 富源县| 庆阳市| 大洼县| 恩平市| 甘孜县| 孟村| 龙州县| 南华县| 金川县| 崇左市| 嘉善县| 博客| 资阳市| 广元市| 山西省| 双峰县| 乌兰浩特市| 陇南市| 宿迁市| 会理县| 九江市| 白朗县| 且末县| 北京市| 无极县| 元江| 嵩明县| 衡山县| 连云港市| 奉新县| 芮城县| 天津市| 兴仁县| 商都县| 怀集县| 玛多县| 娱乐| 阳曲县| 新安县| 保山市| 江华| 水富县| 新田县| 留坝县| 沂南县| 庆云县| 屯留县| 察隅县| 安吉县| 卓尼县| 顺昌县| 任丘市| 楚雄市| 安义县| 从江县| 新河县| 广丰县| 壶关县| 扬中市| 衡阳市| 兴仁县| 兴义市| 资兴市| 桦川县| 景泰县| 松潘县| 嘉鱼县| 五台县| 剑河县| 招远市| 长白| 林西县| 抚松县| 乃东县| 积石山| 鱼台县| 宜良县| 肥乡县| 深州市| 贡山| 出国| 贵定县| 永州市| 郎溪县| 启东市| 正镶白旗| 德令哈市| 鹤峰县| 托克逊县| 普宁市| 门源| 临高县| 兴隆县| 本溪市| 潮州市| 郴州市| 吉首市| 商城县| 凤台县| http://jx1870kidv.fun http://wap.jx1870evenv.fun http://www.jx1870fruitv.fun http://wap.jx1870handlev.fun http://m.hz0j2r9vo.fun http://wap.jx1870ironv.fun http://m.hz0j3r9vo.fun http://www.jx1870knowv.fun http://www.jx1870feelv.fun http://www.jx1870izpactv.fun http://wap.jx1870facev.fun http://www.jx1870fieldv.fun http://wap.jx1870enlargev.fun http://m.jx1870evenv.fun http://wap.jx1870flagv.fun http://wap.hz0j1r9vo.fun http://jx1870fanv.fun http://wap.jx1870ensurev.fun