建立词索引表

本文详细介绍了如何建立词索引表,通过探讨链表和顺序表的数据结构,阐述了在文本处理中如何高效地实现词索引,以便于快速检索和分析。
摘要由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
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值