一 点睛
散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。
二 使用 hashtable 来实现一个雇员的管理系统
1 需求
有一个公司,当有新的员工来报道时,要求将该员工的信息加入(id、性别、年龄、住址..),当输入该员工的 id 时,要求查找到该员工的 所有信息。
要求:
a 不使用数据库,尽量节省内存,速度越快越好。
b 添加时,保证按照雇员的 id 从低到高插入
2 思路分析
a 使用链表来实现哈希表, 该链表不带表头。即链表的第一个结点就存放雇员信息。
b 图解
3 代码
package main
import (
"fmt"
"os"
)
// 定义员工结构体
type Emp struct {
Id int
Name string
Next *Emp
}
// 显示员工信息
func (this *Emp)