language_hashmap.h 828 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #ifndef __LANGUAGE_HASHMAP_H
  2. #define __LANGUAGE_HASHMAP_H
  3. #define MAX_LEN 1024
  4. #define DELIMITER "|"
  5. typedef struct HashEntry
  6. {
  7. char *key;
  8. char **value;
  9. int valueLength;
  10. struct HashEntry *next;
  11. } HashEntry;
  12. typedef struct HashTable
  13. {
  14. HashEntry **ptable;
  15. int size;
  16. } HashTable;
  17. unsigned int _hash(HashTable *table,const char *key) ;
  18. HashTable *create_hash_table(int size);
  19. // 在哈希表中插入键值对
  20. void insert_Newhash(HashTable *table, const char *key, char value[][64],int valuelens);
  21. // 在哈希表中查找键对应的值
  22. const HashEntry*find_hash(HashTable *table, const char *key);
  23. // 释放哈希表占用的内存
  24. void free_hash_table(HashTable *table);
  25. // 替换管包裹字符
  26. void replace_sequences(char *str, HashTable *table);
  27. #endif