C语言没有内置的字典数据结构,但可以使用其他数据结构来实现字典,比如数组、链表或哈希表。以下是使用哈希表实现字典的一种常见方式
C语言没有内置的字典数据结构,但可以使用其他数据结构来实现字典,比如数组、链表或哈希表。以下是使用哈希表实现字典的一种常见方式:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#defineMAX_SIZE100
typedefstruct{
charkey[50];
charvalue[50];
}KeyValuePair;
typedefstruct{
KeyValuePairdata[MAX_SIZE];
intcount;
}Dictionary;
voidinitialize(Dictionary*dictionary){
dictionary->count=0;
}
voidinsert(Dictionary*dictionary,constchar*key,constchar*value){
if(dictionary->count>=MAX_SIZE){
printf("Dictionaryisfull.\n");
return;
}
strcpy(dictionary->data[dictionary->count].key,key);
strcpy(dictionary->data[dictionary->count].value,value);
dictionary->count++;
}
constchar*find(Dictionary*dictionary,constchar*key){
for(inti=0;i<dictionary->count;i++){
if(strcmp(dictionary->data[i].key,key)==0){
returndictionary->data[i].value;
}
}
returnNULL;
}
intmain(){
Dictionarydictionary;
initialize(&dictionary);
insert(&dictionary,"apple","果实");
insert(&dictionary,"banana","香蕉");
insert(&dictionary,"cherry","樱桃");
constchar*value=find(&dictionary,"banana");
if(value){
printf("TheChinesemeaningof'banana'is'%s'\n",value);
}else{
printf("Cannotfindtheword'banana'\n");
}
return0;
}
该示例演示了使用哈希表实现的简单字典数据结构。Dictionary结构包含一个KeyValuePair数组,用于存储键值对。通过insert函数可以向字典中插入新的键值对,通过find函数可以查找指定键的值。
版权声明
本文仅代表作者观点,不代表博信信息网立场。