亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? hashtable.h

?? 常用的數據結構和算法函數庫
?? H
字號:
/*Copyright (c) 2005, Simon HowardAll rights reserved.Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright    notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright    notice, this list of conditions and the following disclaimer in    the documentation and/or other materials provided with the    distribution. * Neither the name of the C Algorithms project nor the names of its    contributors may be used to endorse or promote products derived    from this software without specific prior written permission.THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.*//** * @file hashtable.h * * @brief Hash table. * * A hash table stores a set of values which can be addressed by a  * key.  Given the key, the corresponding value can be looked up * quickly. * * To create a hash table, use @ref hash_table_new.  To destroy a  * hash table, use @ref hash_table_free. * * To insert a value into a hash table, use @ref hash_table_insert. * * To remove a value from a hash table, use @ref hash_table_remove. * * To look up a value by its key, use @ref hash_table_lookup. */#ifndef ALGORITHM_HASHTABLE_H#define ALGORITHM_HASHTABLE_H#ifdef __cplusplusextern "C" {#endif/**  * A hash table structure. */typedef struct _HashTable HashTable;/** * Hash function used to generate hash values for keys used in a hash * table. * * @param data   The value to generate a hash value for. * @return       The hash value. */typedef unsigned long (*HashTableHashFunc)(void *data);/** * Function used to compare two keys for equality. * * @return   Non-zero if the two keys are equal, zero if the keys are  *           not equal. */typedef int (*HashTableEqualFunc)(void *data1, void *data2);/** * Type of function used to free keys and values when entries are * removed from a hash table. */typedef void (*HashTableFreeFunc)(void *data);/** * Type of function used as a callback when iterating over data. * See @ref hash_table_foreach. * * @param key            The key to the current element being iterated over. * @param value          The value of the current element being iterated over. * @param user_data      Extra data passed to the @ref hash_table_foreach *                       function. */typedef void (*HashTableIterator)(void *key, void *value, void *user_data);/** * Type of function used as a callback when iterating over a hash table, * selectively removing entries. * See @ref hash_table_foreach_remove. * * @param key            The key to the current element being iterated over. * @param value          The value of the current element being iterated over. * @param user_data      Extra data passed to the @ref hash_table_foreach *                       function. * @return               Non-zero (true) if the entry should be removed *                       from the hash table.  Zero (false) if the entry  *                       should not be removed from the hash table. */typedef int (*HashTableRemoveIterator)(void *key,                                        void *value,                                        void *user_data);/** * Create a new hash table. * * @param hash_func            Function used to generate hash keys for the  *                             keys used in the table. * @param equal_func           Function used to test keys used in the table  *                             for equality. * @return                     A new hash table structure. */HashTable *hash_table_new(HashTableHashFunc hash_func,                           HashTableEqualFunc equal_func);/** * Destroy a hash table. * * @param hashtable            The hash table to destroy. */void hash_table_free(HashTable *hashtable);/** * Register functions used to free the key and value when an entry is * removed from a hash table. * * @param hashtable            The hash table. * @param key_free_func        Function used to free keys. * @param value_free_func      Function used to free values. */void hash_table_register_free_functions(HashTable *hashtable,                                        HashTableFreeFunc key_free_func,                                        HashTableFreeFunc value_free_func);/** * Insert a value into a hash table, overwriting any existing entry  * using the same key. * * @param hashtable            The hash table. * @param key                  The key for the new value. * @param value                The value to insert. */void hash_table_insert(HashTable *hashtable, void *key, void *value);/** * Look up a value in a hash table by key. * * @param hashtable           The hash table. * @param key                 The key of the value to look up. * @return                    The value, or NULL if there is no value with *                            that key in the hash table. */void *hash_table_lookup(HashTable *hashtable, void *key);/** * Remove a value from a hash table. * * @param hashtable           The hash table. * @param key                 The key of the value to remove. * @return                    Non-zero if a key was removed, or zero if the *                            specified key was not found in the hash table. */int hash_table_remove(HashTable *hashtable, void *key);/**  * Retrieve the number of entries in a hash table. * * @param hashtable           The hash table. * @return                    The number of entries in the hash table. */int hash_table_num_entries(HashTable *hashtable);/** * Iterate over all key-value pairs in a hash table. * * @param hashtable           The hash table. * @param iterator            Callback function to invoke for each element. * @param user_data           Extra data to pass to the iterator function *                            as context. */void hash_table_foreach(HashTable *hashtable, HashTableIterator iterator,                        void *user_data);/** * Iterate over all key-value pairs in a hash table, selectively * removing entries. * * @param hashtable           The hash table. * @param iterator            Callback function to invoke for each element. * @param user_data           Extra data to pass to the iterator function *                            as context. * @return                    The total number of entries removed from *                            the hash table. */int hash_table_foreach_remove(HashTable *hashtable,                               HashTableRemoveIterator iterator,                              void *user_data);#ifdef __cplusplus}#endif#endif /* #ifndef ALGORITHM_HASHTABLE_H */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
2023国产精华国产精品| 午夜精品免费在线| 亚洲精品国产无套在线观| 肉肉av福利一精品导航| 成人h动漫精品| 欧美一二三区在线观看| 亚洲免费在线视频一区 二区| 青青草国产成人99久久| 色哟哟一区二区| 欧美国产精品中文字幕| 麻豆精品国产91久久久久久| 色94色欧美sute亚洲线路二 | 亚洲国产日产av| 国产91精品一区二区麻豆网站| 欧美手机在线视频| 亚洲伦理在线免费看| 不卡区在线中文字幕| 国产亚洲人成网站| 国产一区二区三区免费播放| 欧美午夜精品理论片a级按摩| 中文字幕中文在线不卡住| 国产一区二区精品久久91| 日韩色视频在线观看| 香蕉成人伊视频在线观看| 色成年激情久久综合| 综合久久久久久| 97se狠狠狠综合亚洲狠狠| 中文一区在线播放| 国产精品69毛片高清亚洲| 精品欧美黑人一区二区三区| 免费在线观看精品| 欧美mv日韩mv国产网站| 久久9热精品视频| 日韩精品一区二区三区在线| 激情久久五月天| 久久亚洲二区三区| 高清成人免费视频| 中文字幕永久在线不卡| 97精品电影院| 亚洲一线二线三线久久久| 91黄视频在线观看| 天堂午夜影视日韩欧美一区二区| 在线播放中文字幕一区| 蜜臀久久久99精品久久久久久| 日韩欧美不卡一区| 国产高清精品网站| 1024成人网| 精品视频免费在线| 精品亚洲成a人在线观看| 日本一区二区三区久久久久久久久不| 懂色av一区二区三区蜜臀| 国产精品久久久久久户外露出 | 欧日韩精品视频| 午夜a成v人精品| 精品999在线播放| 99久久精品免费精品国产| 一区二区三区中文字幕在线观看| 欧美性三三影院| 精品午夜久久福利影院| 中文字幕免费在线观看视频一区| 欧美精品一卡二卡| 精东粉嫩av免费一区二区三区| 国产欧美一区二区三区在线老狼| 波多野结衣在线一区| 一区二区三区四区不卡在线| 欧美一级在线视频| 成人黄色电影在线| 天天做天天摸天天爽国产一区 | 欧美一区二区三区啪啪| 国产成人超碰人人澡人人澡| 亚洲影视资源网| 久久久久久久久蜜桃| 日本道在线观看一区二区| 精品制服美女丁香| 亚洲综合激情网| 日本一区二区三区四区| 欧美电影在线免费观看| 东方aⅴ免费观看久久av| 婷婷开心激情综合| 综合激情网...| 精品久久国产字幕高潮| 在线观看视频一区二区| 丰满亚洲少妇av| 久久精品国产澳门| 亚洲国产中文字幕在线视频综合| 国产欧美1区2区3区| 91精品国产麻豆国产自产在线| 99re热视频精品| 国产一区二区免费视频| 日韩高清在线一区| 亚洲精品第一国产综合野| 久久久久国产精品麻豆ai换脸 | 久久激情综合网| 亚洲国产另类av| 中文字幕亚洲成人| 国产亚洲女人久久久久毛片| 欧美一区二区三区免费在线看 | 国产无一区二区| 91精品国产麻豆国产自产在线| 99re成人精品视频| www.激情成人| 国产99一区视频免费| 久久草av在线| 免费看欧美女人艹b| 日韩综合在线视频| 午夜免费欧美电影| 亚洲成人你懂的| 亚洲午夜一区二区| 亚洲一二三专区| 亚洲最新视频在线播放| 亚洲女同一区二区| 一区二区三区在线视频免费| 欧美激情在线观看视频免费| 欧美韩日一区二区三区四区| 最新欧美精品一区二区三区| 国产日韩精品视频一区| 国产欧美一区二区三区鸳鸯浴 | 精品国产乱码久久久久久久久| 欧美群妇大交群中文字幕| 欧美影院精品一区| 欧美日韩一区中文字幕| 欧美高清激情brazzers| 欧美视频一区在线观看| 欧美日韩免费一区二区三区视频 | 色悠久久久久综合欧美99| 97久久人人超碰| 色哟哟精品一区| 欧美日韩国产成人在线免费| 日韩一区二区影院| 亚洲精品一区二区在线观看| 久久影院视频免费| 国产欧美精品一区| 一区二区三区在线免费视频 | 欧美一级生活片| 精品欧美久久久| 国产精品久久久久一区二区三区共| 国产精品电影一区二区| 性欧美大战久久久久久久久| 免费久久精品视频| 成人午夜伦理影院| 欧美在线视频全部完| 日韩视频国产视频| 国产精品久久久久久久久晋中| 亚洲动漫第一页| 国产一区二区三区在线观看精品 | 黄网站免费久久| 91视频你懂的| 日韩视频在线永久播放| 欧美国产乱子伦| 视频在线在亚洲| 国产成人精品1024| 欧美午夜电影网| 久久综合久久综合亚洲| 亚洲一区二区中文在线| 精久久久久久久久久久| 色美美综合视频| 337p粉嫩大胆噜噜噜噜噜91av| 亚洲人成精品久久久久| 久久国产剧场电影| 色先锋aa成人| 国产目拍亚洲精品99久久精品| 亚洲高清免费视频| 不卡av在线网| 欧美精品一区二区三区很污很色的| 亚洲欧美日韩国产一区二区三区| 久久66热re国产| 欧美日韩免费观看一区二区三区| 久久在线免费观看| 天天综合日日夜夜精品| 91在线视频网址| 欧美精品一区二区三区蜜桃| 亚洲成人免费在线观看| 丁香天五香天堂综合| 日韩三级高清在线| 亚洲成av人在线观看| 一本一道综合狠狠老| 国产三级三级三级精品8ⅰ区| 天堂资源在线中文精品| 一本大道久久a久久综合| 久久精品无码一区二区三区| 三级久久三级久久| 欧美午夜影院一区| 一区二区在线看| 91视频在线看| 一色桃子久久精品亚洲| 粉嫩av一区二区三区| 欧美本精品男人aⅴ天堂| 天堂精品中文字幕在线| 欧美日韩视频不卡| 亚洲午夜精品网| 欧美日韩在线三级| 亚洲一区二区三区四区不卡| 色综合天天综合在线视频| 中文字幕亚洲一区二区va在线| 国产不卡免费视频| 久久蜜桃av一区精品变态类天堂 | 精品亚洲免费视频| 日韩欧美一区电影| 极品少妇xxxx偷拍精品少妇| 日韩一区国产二区欧美三区|