哈希表
我就直接以我做的笔记开始吧
请看下图,其实数组就是一个哈希表,哈希表是一种数据结构,以键值对的方式存储。
演示代码:
int main(int argc, char *argv[])
{
Hash* hash = Hash_Create();
struct Student s1 = {"9001201", "Delphi", 30};
struct Student s2 = {"0xABCDE", "Java", 20};
struct Student s3 = {"koabc", "C++", 40};
struct Student s4 = {"!@#$%^", "C#", 10};
struct Student s5 = {"Python", "Python", 10};
struct Student* ps = NULL;
Hash_Add(hash, s1.id, &s1, compare_id);
Hash_Add(hash, s2.id, &s2, compare_id);
Hash_Add(hash, s3.id, &s3, compare_id);
Hash_Add(hash, s4.id, &s4, compare_id);
Hash_Add(hash, s5.id, &s5, compare_id);
ps = Hash_Get(hash, "!@#$%^", compare_id);
printf("ID: %s\n", ps->id);
printf("Name: %s\n", ps->name);
printf("Age: %d\n", ps->age);
Hash_Destroy(hash);
getchar();
return 0;
}
结果:
下载完整代码