栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++数据结构课程设计——文学研究助手

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++数据结构课程设计——文学研究助手

设计任务与目标

【问题描述】
文学研究人员需要统计某篇英文小说中某些形容词的出现次数和位置。试写一个 实现这一目标的文字统计系统,称为“文学研究助手”。
【基本要求】
英文小说存放于一个文本文件中。待统计的词汇集合要依次输入完毕,即统计工作必须在程序的一次运行之后就全部完成。
程序的输出结果是每个词的出现次数和出现位置所在行的行号,格式自行设计。
【选作内容】
(1)模式匹配要基于KMP算法
(2)整个统计过程中只对小说文字扫描一遍以提高效率

数据结构和算法说明

部分源码

// 串的堆分配存储表示
typedef struct HString 
{  
	char *ch;  
	int length; 
}HString; 
 
 typedef struct ShowDataElem 
{ 
	 int row;
	 int count; 
	 int location; 
}ShowDataElem;
//行数据链表
typedef struct LRowNode 
{ 
	ShowDataElem data;   
	struct LRowNode *next; 
}LRowNode,*RowLink; 
typedef struct 
{ 
	RowLink head; 
	RowLink tail; 
	int len;  
}RowLinkList; 
//串数据链表
typedef struct StringNode 
{  
	HString str; 
	RowLinkList rowlist; 
	StringNode *next; 
}StringNode,*StringLink;  
typedef struct 
{  
	StringLink head,tail;  
	int len; 
}StringLinkList;  
//以上为定义的所需要的结构体
void copy(HString &T, char *chars) 
{
	int len; 
	int i;  
	len=strlen(chars);
	if(!len) 
	{  
		T.ch=NULL; 
		T.length=0; 
	}  
	else 
	{  
		T.ch = (char *) malloc(len*sizeof(char) ); 
	    if( !T.ch ) 
			exit(0);  
		for(i=0;it.length) 
	{   
		c=i-t.length;  
		return c;  
	}  
	else 
		return 0; 
}
int Next(HString s,int j) 
{  //KMP模式匹配的next函数
	if(j==1) 
		return 0; 
	int k,i;  
	for(k=j-1;k>1;k--) 
	{ 
		for(i=1;i='a'&&ch<='z' || ch>='A'&&ch<='Z'; 
	return (!a); 
} 
int Index_KMP(HString s,HString t, int pos) 
{   //KMP算法
	int i=pos,j=1; 
	int c; 
	while(i<=s.length && j<=t.length)  
	{ 
		if(j==0 || s.ch[i-1]==t.ch[j-1])  
		{ 
			i++; 
			j++; 
		}  
		else 
			j=Next(t,j); 
	}  
	if(j>t.length&&(IsNotCharactor(s.ch[i-1]) 
		&& IsNotCharactor(s.ch[i-t.length-2]))) 
	{  
		c=i-t.length; 
		return c; 
	}  
	else 
		return 0; 
} 
int Count_KMP(HString s,HString t,int pos) 

程序运行、测试与分析

 

 

 

有需要查看完整源代码和程序设计报告的同学可以下载

C++数据结构课程设计——文学研究助手

 其中包含整个大作业内容

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/875964.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号