第一阶段:设计结构体
struct WORD
{
char *key; //先测试单词长度,然后再malloc
int ntrans; //记录单词解释个数
char **trans; //指针数组,每个指针都指向一个解释
};
malloc:
11万个结构体数组
每个单词的内容
根据ntrans的个数-->设计指针数组
用户输入,比较关键字key。
二分查找(先以key排序整个结构体【strcmp】中文一样混排)
返回结构体数组下标 打印解释
第二阶段:优化启动速度
fwrite进二进制文件,以后自己加载二进制
需要写的内容
1. 所有的单词个数。这样就知道11万个了。之前是fgets/2 4B
2. key的长度 假设记录7个字节 4B helloni\0
3. key的内容 7B
4. ntrans 个数 4B
5. trans[0]长度 11B aaaaa aaaaa\0
7. trans[1]长度 假设解释10个字节 4B
6. trans[0] 内容
8. trans[1]内容
………………………………
………………………………
第三阶段:用户自定义词库
先在之前生成的文件里查找,找不到再去用户增加的里面去找