26、e数据结构笔记之二十六串应用之建立词索g引表.docxVIP

26、e数据结构笔记之二十六串应用之建立词索g引表.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
26、蛤蟆的数据结构笔记之二十六串应用之建立词索引表本篇名言:“生命是一条美丽而曲折的幽径,路旁有妍花的丽蝶,累累的美果,但我们很少去停留观赏,或咀嚼它,只一心一意地渴望赶到我们幻想中更加美丽的豁然开朗的大道。然而在前进的程途中,却逐渐树影凄凉,花蝶匿迹,果实无存,最后终于发觉到达一个荒漠。-- 萨拉”信息检索信息检索是计算机应用的重要领域之一。为了提高图书馆数目检索的效率,建立书名关键词索引,可以实现读者快速检索书目的自动化,即读者根据关键词索引表,读者可以方便查询到自己感兴趣的书目。准备一个文件BookInfo.txt文件如下。注意最后一行不要后空行,不然程序会出错。BookInfo.txt005 Computer Data Structure010 Introduction to Data Structure023 Fundamental of Data Structure034 The Design and Analysis of Computer Algorithms050 Introduction to Numerical Analysis067 Numerical AnalysisBookIdx.txt最后代码运行完毕会生成如下的文本:关键字 书号 algorithms 034,analysis 034,050,067,computer 005,034,data 005,010,023,design 034,fundamental 023,introduction 010,050,numerical 050,067,structure 005,010,023,代码具体实现定义定义如下#define MaxBookNum 1000//假设只对1000本书建索引表#define MaxKeyNum 2500//索引表的最大容量#define MaxLineLen 500//书目串的最大长度#define MaxWordNum 10//词表的最大容量typedef struct{char *item[MaxKeyNum];//字符串的数组int last;//词表的长度}WordListType;//词表类型(顺序表) typedef struct LNode{//存放书号的链表int data[3];struct LNode *next;}LNode, *LinkList;typedef struct{//存放关键词的串char *ch;int length;}HString;typedef struct{HString *key; LinkList bnolist;}IdxTermType;//索引项类型 typedef struct{IdxTermType item[MaxKeyNum + 1];int last;}IdxListType;//索引表类型(有序表)char *buf;//书目串缓冲区WordListType wdlist;//词表int i;//无重复的关键字个数int b;//保留i的前一次变换的值int v;char *com[10] = {and,a,an,the,a,an,to,of};InitIdxList初始化操作,置索引表idxlist为空表,且在idxlist.item[0]设一空串。IdxListType *InitIdxList(IdxListType *idxlist){idxlist = (IdxListType *)malloc(sizeof(IdxListType));if(idxlist == NULL){printf(ERROR——1!);exit(-1);}idxlist-item[0].key = (HString *)malloc(sizeof(HString));idxlist-item[0].bnolist = (LinkList)malloc(sizeof(LNode));idxlist-item[0].key-ch = NULL;idxlist-item[0].key-length = 0;idxlist-item[0].bnolist-next = NULL;idxlist-last = 0;return idxlist;}GetLine从文件f读入一个书目信息到书目缓冲区buf其中v,buf是一个全局变量。当前设置的v最大是100,就是最多读取100行书的信息。void GetLine(FILE *f){int j = 0;static char

文档评论(0)

zzabc001 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档