建立词索引表

本文详细介绍了如何建立词索引表,通过探讨链表和顺序表的数据结构,阐述了在文本处理中如何高效地实现词索引,以便于快速检索和分析。
摘要由CSDN通过智能技术生成

#include<iostream>
#include<fstream>
#include<string>
#include<ctype.h>
#include"HString.h"
#include"LinkList.h"
using namespace std;

#define MaxBookNum 6	//假设只对6本书建立索引表
#define MaxKeyNum 30	//索引表的最大容量
#define MaxLineLen 30	//书目串的最大长度
#define MaxWordNum 10	//词表的最大容量
#define MaxWordLen 30	//关键词的最大长度

typedef struct{
	string	*item[MaxWordNum];//字符串
	int		last;//词表的长度	
}WordListType;	//	词表的类型(顺序表)

typedef struct{
	HString		key;//关键词
	LinkList	bnolist;//存放书号索引的链表
}IdxTermType;		//索引项类型

typedef struct{
	IdxTermType item[MaxKeyNum+1];
	int			last;
}IdxListType;	//索引表类型(有序表)

string buf;//书目串缓冲区
int BookNo[3];//数组存放书号
WordListType wdlist;//词表
string str[9]={"a","an","of","to","and","the","if","many","more"};//常用词表

class IdxlistOperation
{
public:
	//建立一个书目文件
	void BookFile(void);
	//初始化操作,置索引表为idxlist为空表,且在idxlist[0]设一空串
	void InitIdxList(IdxListType &idxlist);
	//从文件f读入一个书目信息到书目缓冲区buf
	void GetLine(ifstream &infile);
	//从buf中提取书名关键词到词表wdlist,书号存入bno
	void ExtractKeyWord(int *bno);
	//将书号为BookNo[3]的书名关键词按词典顺序插入索引表idxlist
	Status InsIdxList(IdxListType &idxlist,int *bno);
	//将生成的索引表输出到文件g
	void PutText(ofstream &outfile,IdxListType idxlist);
};//IdxlistOperation

void IdxlistOperation::BookFile(void)//建立书目文件
{
	s
  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
题目采自 《数据结构题集》(c语言版)(严蔚敏`吴伟民)6.3 图书管理,最大的难度在于要求用B树对书号进行索引。 设计语言:C语言 编译环境: VC++6.0 里面包含完整的源程序和报告文档,程序为dos界面,有彩色菜单,对数据显示实现格化……本课程设计成绩为优秀。 源程序有注释,报告文档完全按要求,包括所用数据结构的描述与实现、算法的时空分析等都包括在内。 程序所能达到的功能 1图书采编入库(用B树对书号建立索引) 2清除库存 3图书借阅 4图书归还 5图书预约 6列出某著者全部著作名 7列出某种书的状态(包括图书基本信息和该书借者名单、 预约者名单) 8每次插入或删除一个关键字后以凹入显示B树的状态 9把一次会话过程中的全部人机对话记录入一个日志文件中 10在程序主界面显示当前系统时间 一、 需求分析 1. 书号和借阅证号、库存量、出版年份用整型示;书名用20位字符型数组,著者和借阅者姓名用30位字符型数组示;图书价格用浮点型示。图书入库时输入图书的书号、书名、著者、总量等完整信息,清除库存时输入图书书号,借阅和归还时输入书号和借阅者证号,姓名等信息,并记录系统时间为借书日期。 2. 借书和归还时显示图书的信息。插入、删除后用凹入显示以书号建立的B树状态。查看图书状态,以格显示图书的基本信息,借阅者名单和预约者名单。 ……………… 课程设计清单: base.h //全程常量、全局变量和公共函数等 btree.h //B树类型单元 library.h //书库类型单元 main.cpp //主程序 bookiofo.dat //图书信息文件 borrower.dat //借书者姓名文件 bespeaker.dat //预约者姓名文件 main.exe //编译得到的可执行文件 数据结构课程设计实验报告-图书管理.doc

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值