哈希存储
***重要知识点
哈希表:根据关键码值(Key value)而直接进行访问的数据结构。
哈希存储: 在记录的存储位置和它的关键字之间建立一种确定的对应关系,使得每个关键字key对应一个存储位置;
关键字: key = 记录的存储位置;我们把这种关系key称为哈希函数(散列函数);查找时,可根据确定的对应关系,找到给定的key的映射。
哈希存储的特性:
<1>存储时,通过散列函数计算出记录的散列地址;
<2>查找时,根据同样的散列函数计算记录的散列地址,并按此散列地址访问记录。
***代码示例
利用哈希存储方法存储10行数字第i行存储的是从小到大对10取余为i的所有数字//以下函数中使用的交互协议
typedef int DataType;
typedef struct node
{
DataType data;
struct node * pNext;
}LinkNode;
#define HASH_TABLE_SIZE 10
//全局变量为:
LinkNode * HashTable[HASH_TABLE_SIZE] = {
0};
往哈希表中插入数据
int insertHashTable(int num) //num为存入的数据
{
int idx = getKeyValue