快译通项目设计

第一阶段:设计结构体
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]内容
………………………………
………………………………

第三阶段:用户自定义词库
先在之前生成的文件里查找,找不到再去用户增加的里面去找
                                    




posted @ 2014-09-03 22:31  我爱背单词  阅读(153)  评论(0编辑  收藏  举报