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
标签:单链,词条,PDICT,C语言,char,dict,词典 From: https://www.cnblogs.com/codewriter/p/16787242.html