| 注册
home doc ppt pdf
请输入搜索内容

热门搜索

年终总结个人简历事迹材料租赁合同演讲稿项目管理职场社交

数据结构实验报告《三、串及其应用》

文***享

贡献于2020-11-11

字数:5223


数结构实验报告
串应文学研究助手



专业班级: 电信班












时间:2011年X月X日










数结构实验报告
串应文学研究助手
问题描述
文学研究员需统计某篇英文说中某单词(特形容词)出现次数位置甚连数字标点符号数统计试写实现目标文字统计系统称文学研究助手
基求
1输入页文字静态存储页文章行超80字符N行
2分统计出中英文字母数空格数标点符号整篇文章总字数
3统计某字符串文章中出现次数输出该次数
4删某子串面字符前移
运拓展
1保存输入文章text文中
2模式匹配基KMP算法
3仿真友界面显示:
(1)求菜单选择操作分子函数实现相应功
(2)输入数形式范围:输入写写英文字母数
字标点符号
(3)输出形式:1)分行输出户输入行字符
2)分5行输出全部字母数数字数空格
数标点符号数文章总字数
3)输出删某字符串文章
涉知识点
链串插入删查找模式匹配(knp算法)文件写入写出switchcase语句进行菜单选择while语句进行循环if语句进行条件判断等等
设计思路
总体思路:文采链式存储字符串链串插入采插法#’
字符串结束标志插入字符串时文件存储字符串
删算法基思路:输入删字符串样#’结束然文中查找该字符串找删时长度减少否没找删
查找算法删算法类似处:里查找某字符串文中出现次数找该字符串继续查找次数加1直文章末尾结束查找
菜单做选择:switchcase语句进行选择判断类象调类成员函数实现特定功采链式存储字符串字符进行存储遇空隔换行符时会忽略计解决问题文采换方法——输入空格时输入:’输入换行符时输入’\\’输出时遇:’输出空格遇\\’输出换行符
功设计

根提示选择否开始
y n
选择操作 退出
调相应函数
否继续?

详细设计
Linklist类中保护成员head(指针类型)
公成员中包含整型变量len计算字符串长度
外包含5子函数分:
1void rcreat()函数尾插法建立链串字符串存入文件遇#时结束2void print(link *head)函数输出链串遇字符号(:)时输出空格遇字符(\\)时输出换行遇字符等48等57时数字数加1遇字符标点符号时相应标点符号数加1输出判断完指针移
3void deletel(link *headlink * head2)删字符串函数中head 指输入文章第字符head2指删字符串第字符采模式匹配算法进行查找文中找字符删第字符相指针分移文中字符第二字符相继续找文中字符删字符第字符开始新匹配直删字符匹配完找删字符串文中位置文中串字符匹配第字符开始匹配段字符删没找该字符串删
4void print2(link *head2)函数输出删字符串中head2 指删字符串第字符
5void *found(link *headlink *head2)函数查找字符串文中出现次数设置整型变量num统计出现次数初始值0样采模式匹配算法找第次文中出现位置num+1继续找文中找num+1直文章末尾然输出num值
部分函数模块流程图:
void *found(link *headlink *head2)
int num0 link *P*Q*R Phead>next Qhead2>next RP


While
(PNULL)&&(QNULL)


if(P>dataQ>data )
else
RR>next
PR
Qhead2>next
PP>next
QQ>next



if(QNULL)

num++
RR>next
PR
Qhead2>next





运行环境
电脑环境:Windows 7 & Windows XP & Windows vista
软件环境:Visual C++ 60 & Visual studio 2008

#include
#include 包含头文件
using namespace std
class bunch
{
public
char data
bunch *next
}bunch
class bunchlist
{
protected
bunch *head
public
int len
bunch *creat()
{
ofstream SaveFile(cpphometxtios_basebinary)创建文文件
bunch *s*p*r
char ch
cout<<输入字符(号代空格双杠(\\)代换行符)#算法结束
cin>>ch
prnew bunch 申请新空间
p>next NULL 插法添加字符
while (ch'#') #时录入字符保存文中
{
snew bunch
s>data ch
r>next s
rs
SaveFile< cin>>ch
}while
r>next NULL 结束输入返回字符串数
SaveFileclose()
return p
}*creat
void print(bunch *head) 输出文
{
int num0 赋初值
int space0
int len0
int word0
int douhao0
int sentence0
ifstream in(cpphometxt) 读入创建txt文文件
bunch *p
phead>next
while(p>nextNULL) 空文件扫描需记录信息
{
len++ 长度先加1
if(p>data'')号改空格输出
{
cout<<' '
space++ 碰空格号空格数目加1
word++ 字符数目加1
pp>next 移动位循环扫描信息
}if:
if(p>data '')逗号形式空格致赘述
{
word++
douhao++
cout<<''
pp>next
}if
if(p>data '')点形式空格致赘述
{
cout<<''
word++
sentence++
pp>next
}if
if(p>data '')问号形式空格致赘述
{
cout<<''
word++
sentence++
pp>next
}if?
if((p>data>48)&&(p>data<57))碰数字0~9时记录
{
cout<

data
num++ 数字统计加1
pp>next 跳位
}if0~9
if(p>data'\\')双杠改换行输出
{
cout<<'\n'
pp>next
}if\\
else 情况记录字母
cout<

data
pp>next
}while
wordword+1 单词数加1
sentencesentence+1 句子数加1
cout< cout<<总字符数:< cout<<空格数:< cout<<逗号总数:< cout<<单词数:< cout<<句子总数:< cout<<数字数:< cout< }
void deletel(bunch*headbunch *HEAD) 删操作
{
bunch *P*Q*R*T
Thead
Phead>next
QHEAD>next
RP
while((PNULL)&&(QNULL))空时进行删操作
{
if(P>dataQ>data )
{
PP>next
QQ>next
}
else
{
TT>next
RR>next
PR
QHEAD>next
}
}
if(QNULL)
{
cout<< find the word< T>nextP>next
}
else
{
cout< }
}

void PRINT(bunch *HEAD)
{ifstream in(hometext)
bunch *q
qHEAD>next
while(qNULL)
{
cout<data
qq>next
}
}

void *found(bunch *headbunch *HEAD)
{
int num0
bunch *P*Q*R
Phead>next
QHEAD>next
RP
while((PNULL)&&(QNULL))
{
if(P>dataQ>data )
{
PP>next
QQ>next
}
else
{
RR>next
PR
QHEAD>next
}
if(QNULL)
{
num++
RR>next
PR
QHEAD>next
}
}
if(num>0)
{cout< cout< else
cout< return 0
}
}

void main()
{int choice
char c
bunch *p*q*Y
bunchlist a
cout<<********************************************************************************<cout<<* 欢迎文编辑器 *<cout<<* *<cout<<* 1 :新建文 2 :输出文 3 :删串字符 4 查找单词出现次数 *<cout<<********************************************************************************<
cout<cin>>c
while(c'y'){
cout<<请输入您选择 <cin>>choice
switch(choice)
{
case 1
cout<<新建文< pacreat ()
break
case 2
cout<<输出结果:< aprint (p)
break
case 3
cout<<输入删字符串:<Yacreat()
adeletel(pY)
cout<<删
aPRINT(Y)
cout<<文章:<aprint(p)
break
case 4
cout<<请输入查找单词:
qacreat()
afound (pq)
break
default
cout< break
}
cout<cin>>c
}
cout<<谢谢<}
文档香网(httpswwwxiangdangnet)户传

《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档

下载文档,方便阅读与编辑

文档的实际排版效果,会与网站的显示效果略有不同!!

需要 2 香币 [ 分享文档获得香币 ]

该文档为用户出售和定价!

购买文档

相关文档

数据结构实验报告

实验报告课程:数据结构 班级:网络工程 学号: 姓名: 实验1 链表的插入和删除一、实验目的 1、 了解单链表、循环链表和双链表的基本知识;2、 掌握算法思想和数据结构的描述;3、 掌握链表的插入、删除的相关语句及基本方法。二、 实验步骤

z***u 2年前 上传333   0

中学导数及其应用

中学导数及其应用摘要:微积分的创立无疑是人类发展史上重要的里程碑。导数是微积分中的重要基础概念,对于高中数学学习和大学数学的学习起着承上启下的作用。导数作为中学数学的重要组成部分,为分析函数单调性、最值曲线切线、部分不等式证明、求解、数列求解等问题寻找最佳方式,是解决许多数学问题强有力的工具。其全面体现了数学价值,既锻造了全新的一种思维方法,又提供重要的思维能力。对导数有关知识的了解,便于学生

平***苏 1年前 上传264   0

2023北航物理实验研究性实验报告电位差计及其应用

北航物理实验研究性实验报告——电位差计及其应用篇一:北航物理实验研究性实验报告——电位差计及其应用北航物理实验研究性实验报告——电位差计及其应用作者:学号:目录摘要..............................................................................................................

xiaochuichui 6个月前 上传137   0

串行口通讯实验报告

通过实验掌握 USART 的功能。掌握 STM32 的 USART 的设置与运用。

x***8 3年前 上传1047   0

新版FIDIC合同条件及其应用

新版FIDIC合同条件及其应用随着我国加入WTO和改革开放的不断深入,工程项目雇主、工程咨询、勘查、设计和施工单位,都面临着国内外两个国际竞争市场。一个是按照“国际惯例要求”的国内外资项目、国际基金组织和外国政府对国内的融资项目的承发包市场;一个是按照国际惯例要求的国际项目承发包市场。  企业要在狭缝中求生存,在擦肩中求发展,无论是雇主还是承包商,都要与国际合同条件接轨,以更好的保护各自

s***3 12年前 上传762   0

变频器及其应用

变频器及其应用 李小元(神东煤炭分公司石圪台煤矿 ****县大柳塔镇 719315) 摘 要 对变频器的基本常识及其及其原理和变频器程序编写及分析实例 关键词 变频器 原理 程序 实例 引言 在当今工业社会,环保和节能显得越来越重要,而变频器在工业节能中发挥着越来越大和不可忽视作用。   一、变频器的基本常识   1.1 什么是变频器 变频器是利用电力半导体器件的通断作用将工

z***n 9年前 上传9186   0

Windows操作系统及其应用

Windows操作系统及其应用一. Windows操作系统的若干常识1、 Windows操作系统的主要功能是_B_____。A.实现软、硬件转换B.管理系统所有的软、硬件C.把源程序转换为目标程序D.进行数据处理 [解析]操作系统属于系统软件,它的主要功能是:管理系统所有的软件和硬件资源。2、 Windows XP 系统是___C___。(请看解析)

豆***2 4年前 上传794   0

新型高效塔设备技术及其应用

新型高效塔设备技术及其应用    1 前言     塔设备是化工、石化、炼油、医药等工业中的重要组成局部。它对整个流程的生产能力、产品质量、能耗与原料消耗、环境保护等,均会产生重大影响。据统计,石油和化学工业的能耗占工业总能耗的很大局部,其中约60%就用于精馏过程,而精馏过程是由塔设备来实现的。塔设备投资约占化工、石化工程总投资的30%~40%。塔设备的别离效率,在生产中对产品的纯度、

天***猩 24分钟前 上传0   0

《数据库原理及应用》实验报告

 数据库原理及应用 实验报告 实验课程: 学 号: 学生姓名: 班级: XXX年

文***享 5年前 上传4473   0

计算机应用基础实验报告

目的:理解微型计算机的结构和工作原理,掌握组装一台微型计算机所需的硬件由几分钟组成,并学会配置微机硬件配置。

z***2 6年前 上传3376   0

高考三轮复习练习常见的有机及其应用四

一、单选题1.环己醇( )常用来制取增塑剂和作为工业溶剂。下列说法正确的是A.与环己醇互为同分异构体,且含有醛基(-CHO)的结构有8种(不含立体异构)B.标准状况下,1mol环己醇与足量Na反应生成22.4LH2C.环己醇的一氯代物有3种(不含立体异构)

郭***林 3年前 上传500   0

哈夫曼树应用数据结构课程设计报告

数据结构课程设计报告设计题目:哈夫曼树应用 专 业 : 软件工程 班 级 : 软件 学 生 : 学 号 : 指导教师 : 起止时间 :2011-07-04—2011-07

文***品 2年前 上传470   0

怎样加强工程项目成本管理及其应用

怎样加强工程项目成本管理及其应用  加强项目成本管理,减支增效,将成为企业长期追求的经营战略。通常我们把施工项目成本管理划分为相互联系的环节,即成本预测,成本计划,成本控制,成本核算,成本分析和成本考核。其中最重要的是成本预测和成本计划。即通过科学的预测(评估)来制订项目成本控制。由于成本编制质量不高,无法依据成本计划进行成本控制,使成本管理走向形式化。加强项目成本核算,正是从施工项成本管理

7***0 9年前 上传627   0

实验3快速傅立叶变换及其应用

班 级09电本班 学号 姓 名 同组人 实验日期 室温 大气压 成 绩 实验题目: 实验3 快速傅立叶变换及其应用一、 实验目的(1) 在理论学习的基础上,通过本实验,加深对FFT的理解,熟悉MATLAB重点有关函数。(2) 应用FFT对典型信号进行频谱分析

文***品 1年前 上传333   0

建设工程成本管理方法及其应用研究

          《建设工程成本管理方法及其应用研究》                 建设工程成本管理方法及其应用研究 摘要:随着社会经济的发展,企业数量的增加,市场竞争也越来越激烈,建设施工企业要想在市场竞争中生存和发展,除了能提供质量高、工期短、造价低的产品之外,加强企业成本管理与控制是施工项目管理的核心。本文阐述了如何有效地进行成本控制,以实现成本管理的目

汪***船 5年前 上传1800   0

金融工程的核心技术及其应用研究

金融工程的核心技术及其应用研究 郭菊娥 邢公奇 郭菊娥系西安交通大学管理学院,邢公奇系西安交通大学经济与金融学院 (西安交通大学,西安,710049) 摘要 本文从现金流的视角,高度阐述了无套利分析、分解、组合和整合的金融工程技术,给出了金融工程技术在套期保值、套利、投机和构造组合应用方面的典型案例,提出了我国应用金融工程技术解决现实问题的构想。 关键词 金融工程技术;分解;

w***7 11年前 上传14890   0

实验一-线性表及其应用(I)

姓名学号实验项目线性表及其应用(I)实验内容1.实现线性表的顺序存储结构和主要的基本操作,并添加输出显示等辅助函数,在此基础上实现后续两个算法。线性表的抽象数据类型定义参见教材第19页。顺序存储结构的定义参见教材第22页。2.设线性表存放于顺序表A中,其中有n个元素,且递增有序,请设计一算法,将x插入到线性表的适当位置,以保持线性表的有序性。(题集第17页2.11)3.试

文***享 2年前 上传543   0

ISO9000以及其在软件行业的应用

ISO9000以及其在软件行业的应用ISO9000无疑是质量管理领域中极其重要的一个话题,甚至在很多人的眼里,质量管理就是ISO9000。尽管这种看法是不全面的,它还是从一个侧面反映了ISO9000在质量管理方面的重要性。然而,目前在软件行业中,ISO9000的作用正在被淡化,甚至有的时候起到了反面的作用。其原因可能如下:1、ISO9000不适合软件行业的说法。2、有些企

s***8 11年前 上传820   0

Hopfield网络学习及其在最优化问题中的应用

Hopfield网络学习及其在最优化问题中的应用 金海和* 金海和, 1964年生, 博士后。主要研究方向: 管理科学与工程,智能优化, 信息技术, Email: jinhh@em.tsinghua.edu.cn (清华大学经济管理学院,北京 100084) 摘要 本文针对Hopfield神经网络(HNN)所存在的极小值问题及缺乏学习能力的问题,提出了一种学习算法。它是将决定

g***g 8年前 上传12918   0

切比雪夫不等式及其应用论文

切比雪夫不等式及其应用论文目 录第一章 绪论 1第二章 切比雪夫不等式的基本理论 32.1 切比雪夫不等式的有限形式和积分形式 32.2 切比雪夫不等式的概率形式 4第三章 切比雪夫不等式在概率论中的应用 73.1 估计概率 73.1.1 随机变量取值的离散程度 73.1.2 随机变量取值偏离超过的概率 73.1.3 估计事件的概率 73.1.4 估计随机变量落入

文***品 3年前 上传793   0

贝塞尔函数及其应用

题目: 贝塞尔函数及其应用 摘 要贝塞尔方程是在柱坐标或球坐标下使用分离变量法求解拉普拉斯方程时得到的,因此它在波动问题以及各种涉及有势场的问题的研究中占有非常重要的地位。贝塞尔函数是贝塞尔方程的解。它在物理和工程中,有着十分广泛的应用。本文首先通过一个物理问题引入贝塞尔方程,并求出贝塞尔方程的解,即贝塞尔函数。其次列出了贝塞尔函数的几个重要的结论,如递推公式,零点

文***享 4年前 上传1754   0

柯西不等式的证明及其应用

柯西不等式的证明及相关应用摘要:柯西不等式是高中数学新课程的一个新增内容,也是高中数学的一个重要知识点,它不仅历史悠久,形式优美,结构巧妙,也是证明命题、研究最值问题的一个强有力的工具。关键词:柯西不等式 柯西不等式变形式 最值 一、柯西(Cauchy)不等式: 等号当且仅当或时成立(k为常数,) 现将它的证明介绍如下:方法1 证

x***n 9年前 上传813   0

《平面构成的形式法则及其应用》讲稿

各位专家好,我叫    ,我试讲的题目是《平面构成的形式法则及其应用》,通过对平面构成形式法则及其应用的分析学习,使同学们了解平面构成的各种形式特征,认识产品设计中构成法则的运用,为我们产品设计课程打下基础。学习平面构成,重点是利用基本单位的组合来进行画面的构成造型(重点锻炼学生的抽象思维能力,造型创作能力,以及对不同材料的运用能力,为以后的产品创作打下坚实基础)。难点是理解画面各元素组合构成的

z***9 10年前 上传9792   0

质量管理八项原则及其应用指南

质量管理八项原则及其应用指南原则1 — 以顾客为中心 组织依存于他们的顾客,因而组织应理解顾客当前和未来的需求,满足顾客需求并争取超过顾客的期望。 实施本原则要开展的活动: ◆全面地理解顾客对于产品、价格、可依靠性等方面的需求和期望。 ◆谋求在顾客和其他受益者(所有者、员工、供方、社会)的需求和期望之间的平衡。 ◆将这些需求和期望传达至整个组织。 ◆测定顾客的满意度并

j***9 11年前 上传530   0

人工智能及其应用知识点整理

人工智能

g***g 3年前 上传1043   0