学堂 学堂 学堂公众号手机端

C语言没有内置的字典数据结构,但可以使用其他数据结构来实现字典,比如数组、链表或哈希表。以下是使用哈希表实现字典的一种常见方式

lewis 1年前 (2024-04-26) 阅读数 17 #技术

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函数可以查找指定键的值。


版权声明

本文仅代表作者观点,不代表博信信息网立场。

热门