首页 > 其他分享 >C语言基于单链表的词典软件

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

时间:2022-10-13 10:36:54浏览次数:75  
标签:单链 词条 PDICT C语言 char dict 词典

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

相关文章

  • c语言实现继承、封装、多态
    c语言实现多态,点击进入主要内容:多态:利用设计和实现一个易于扩展的系统;c++中多态指:具有不同功能的函数可以用同一个函数名,这样可以用一个函数名调用不同内容的函数;静态多......
  • 实验1 C语言开发环境使用和编程初体验
    1.实验任务1task1.c源码1#include<stdio.h>2intmain(){3for(inti=1;i<=2;i++){4printf("0\n");5printf("<H>\n");6......
  • c语言一 入坑
    c语言1.什么是编程语言?源自内存的构成材料:晶体管是帮助人类和计算机交流的语言高级语言(c,c++,Java,b语言)-->汇编语言(机器码+指令和命令)-->0和1(二进制机器码)2.和计算机......
  • c语言三 输入输出
    整数溢出​ 计算一个整数的时候超过整数能够容纳的最大单位后,整数会溢出,溢出的结果是高位舍弃​ 当一个小的整数赋值给大的整数,符号位不会丢失,会继承大端对齐与小端......
  • 实验1c语言开发环境使用和数据类型,运算符和表达式
    1.试验任务1(1)在垂直方向上打印两个字符小人的源代码,以及运行结果截图 \\在垂直方向上打印两个字符小人#include<stdio.h>intmain(){printf("o\n");pr......
  • C语言实现广义表
    前言在学习广义表的时候,我先是翻阅了严蔚敏老师的《数据结构》第二版教材,然后翻阅了我们上课的教材,周桂红老师的《数据结构》第一版,两本书中,广义表都在"串、数组、广义表"......
  • TZOJ 7871:维护序列 单链表应用(创建/查询/插入/删除)
    描述 给定一个长度为n的整数序列。现在有m个操作,操作分为三类,格式如下:(1)1i:询问序列中第i个元素的值,保证i小于等于当前序列长度。(2)2iv:在序列中第i个元素前加......
  • 单链表-Python实现-jupyter->markdown 格式测试
    单链表引入顺序表理解Python变量的本质:变量存储的不是值,是值的地址理解Python的"="表示的是指向关系案例:交换a,b的值,a=10,b=20a,b=20,10t0:a这块内存(也有id),......
  • 【C语言】赋值操作符、单目操作符、自增自减运算符。
    ......
  • C语言-指针
    一、指针的概念要知道指针的概念,要先了解变量在内存中如何存储的。在存储时,内存被分为一块一块的。每一块都有一个特有的编号。而这个编号可以暂时理解为指针,就像酒店的门......