C语言基于单链表的词典软件

实验1:
日期:2022-10-4
类型:设计型
题目:基于单链表的词典软件
内容:
利用单链表存储词典,可以实现从文件中加载数据、查询单词、添加词条、删除词条、将词典保存到文件等功能。单链表带有专用头结点head。是否区分大小写可自行规定。
使用C语言;完成后,还可以自愿尝试以Java实现。

词条类型:
typedef struct _Item
{
char *eng;
char *note;
}ITEM, *PITEM;

结点类型为:
typedef struct _Node
{
ITEM data;
struct _Node *next;
}NODE, *PNODE;

单链表类型为:
typedef struct _Dict
{
//根据下面操作的要求,自行决定结构体成员,目的是执行速度快
//一定要说明每个成员的作用
}DICT, *PDICT;

数据来自文件cet4word.txt,该文件中每个有效行包含两部分:英文单词及释义,分别对应ITEM中的两个成员。

要求完成如下操作:
1)void Init(PDICT dict)
初始化dict为空表

2)int Load(PDICT dict, char *fromFile)
是将filename代表的cet4word.txt文件的内容读入单链表dict中,所有结点按英文单词的字典序升序排列。若成功,返回0,若失败返回值自定义

3)int Add(PDICT dict, PITEM item)
将item代表的一个词条按升序插入到单链表dict中。若成功,返回0,否则返回值自定义

4)char* Find(PDICT dict, char *english)
在dict中精确查找英文单词english,若存在对应的词条,返回其note部分,否则返回NULL
还可以添加类似功能:例如查找以某个字符串开头的单词;查找包含有某个字符串的单词;按照中文查询;等等

5)int Delete(PDICT dict, char *english)
删除dict中某个单词对应的词条,不需要返回被删除的内容。若成功返回0,若失败返回值自行定义

6)int SaveAs(PDICT dict, char *toFile)(可选功能)
将变化后的词典保存到一个文本文件中,格式自定义

7)void Destroy(PDICT dict)
销毁词典

思考:
1、在主要操作为查词典的情况下,如何才能让执行速度更快些?可以考虑修改前面的结构体定义,需要注明原因。
2、在前面功能实现的基础上,还可以增加哪些功能?

源码传送门

传送门:https://pan.baidu.com/s/1JJs9vbZahUCB6cQvXLgAVg?pwd=1111

原文地址:http://www.cnblogs.com/codewriter/p/16787242.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性