- 1、本文档共20页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
字符串实现一个简单的行编辑器(数据结构课程设计参考样本).doc
用字符串实现一个简单的行编辑器
学生姓名:OOO 指导老师:XXX
摘 要 : 本课程设计主要解决在文本编辑中,对行编辑的问题,通过字符串完善对文本的编辑,实现对文本的查找、替换、和修改数据。在本课程设计中,系统开发平台为Windows2000,程序设计语言为C语言,程序运行平台为Windws 98/2000/XP。在程序设计中采用了字符串的方法实现对简单的行编辑器。程序通过调试运行,初步实现了设计目标,并且经过适当完善后,将可以应用在实际中解决问题。
关键词 : 程序设计;行编辑器; C语言;
1 引 言
对于日常生活中的文本编辑来说,行编器是一个很重要的问题,文本的完善关系到文件做出的完美,决定了人们在编辑文本的时效率。一个好的用字符串实现的行编辑可以大大的提高人们办公效率。
1.1 课题背景
行编辑器是文本编辑器的一种,针对行进行编辑。现在看来当然非常地老式,这种编辑器起源于操作员还使用电传打字机的年代,也就是一个打印机连着键盘,因为没有显示器,也就无法在文档中移动光标。行编辑器只能从事最简单的输入输出。输入、编辑、文档显示并不能同步地进行。一般而言,用户无法直接输入文本,而只能在文本终端上通过简要的命令,对已有的文档进行添加或编写。命令和文本,以及编辑器的相应输出,会根据他们的输入顺序,从底部开始逐一显示。虽然命令一般会显示被修改的行,但如果要将行连同文档中的上下文显示,则需要另外单独的命令。
现在常见的编辑器,都是通过移动光标,来选取要编辑的文本段落,与此不同的是,行编辑只能对“当前行”进行编辑。一般也可以在行内进行上下文匹配,或者选择特定行,以决定哪部分文档将被编辑或显示。当然,这些编辑每次都只能针对一行。行编辑器就只能一行一行的编辑,不能出错,一出错就得重来。
因此我们用字符串来定义,可以增强行编辑器的应用,增强可读性,加快人们的编辑文本的效率,从而推进社会的发展。这就是其重要意义。
1.2 课程设计目的
数据结构是在整个计算机科学与技术领域上广泛被使用的术语。它用来反映一个数据的内部构成,即一个数据由那些成分数据构成,以什么方式构成,呈什么结构。数据结构有逻辑上的数据结构和物理上的数据结构之分。逻辑上的数据结构反映成分数据之间的逻辑关系,而物理上的数据结构反映成分数据在计算机内部的存储安排。数据结构是数据存在的形式。?数据结构是信息的一种组织方式,其目的是为了提高算法的效率,它通常与一组算法的集合相对应,通过这组算法集合可以对数据结构中的数据进行某种操作。?数据结构课程的主要目的是介绍一些常用的数据结构,阐明数据结构内在的逻辑关系,讨论它们在计算机中的存储表示,并结合各种数据结构,讨论对它们实行的各种运算的实现算法。生活中的例子,比如现在要做一个考试系统,要描述每个考生的信息,有姓名、性别、考号等,全部这些信息就构成一个小数据结构,每个考生有他自己的数据结构,这些结构要如何存放在计算机中,各个结构之间是什么关系,对整体需要哪些操作,比如查询、删除,怎样存储会使这样的操作效率更高,这些就是数据结构要解决的问题。
图1-1
图1.1 实现的数据结构
1.3课程设计内容
本课程设计是用字符串实现一个简单的行编辑器,其中包括字符的按行录入、、
图1.2行编辑器功能框架图
2 设计思路与方案
2.1设计思路
栈是一种先进后出的线性表。它只允许在表的一端进行插入和删除元素,而在另一端不进行任何操作。比如假设栈为q=(a1,a2,…an),那么a1就是栈低元素,an则是栈顶元素。栈中的元素是按照a1,a2,…an的顺序进入的,出栈是可以按照这个次序依次退出。如图2-1
a1,a2,a3,…an 进栈
图2-1 C栈元素进栈
图2-2 C栈元素出栈后进入D栈
最后D栈出栈的元素序列是:a1,a2,…an。与输入序列完全一致。
2.2数据结构设计(还必须写详细些)
栈是一种先进后出的线性表,为了能按照原来的输入顺序输出元素,我在程序中设计了两个栈,第一个栈用来存储输入的字符,然后把第一个栈的元素出栈,并且把出栈的元素放入第二个栈中,这样就实现了出栈是元素的顺序和最开始输入的顺序是一致的了。
首先,构造一个空栈函数InitStack(SqStack S);然后设计输入函数push(SqStack S,char e)和出栈函数pop(SqStack S,
您可能关注的文档
- 基于EPON农村信息化解决方案.doc
- 基于Packet tracer的一个简单IPv6测试.docx
- 基于人脸识别开题报告.doc
- 基于窄带光纤光栅的微波载波单边带调制.doc
- 基础心理学复习资料.doc
- 多声道音频转换实务操作大全(三).docx
- 多媒体技术基础实验指导书&课程设计指导书.doc
- 多媒体系统组成结构 多媒体原文.doc
- 多模光纤和单模光纤区别(打印).doc
- 多系统合路平台(POI)应用.doc
- 《GB/T 32151.42-2024温室气体排放核算与报告要求 第42部分:铜冶炼企业》.pdf
- GB/T 32151.42-2024温室气体排放核算与报告要求 第42部分:铜冶炼企业.pdf
- GB/T 38048.6-2024表面清洁器具 第6部分:家用和类似用途湿式硬地面清洁器具 性能测试方法.pdf
- 中国国家标准 GB/T 38048.6-2024表面清洁器具 第6部分:家用和类似用途湿式硬地面清洁器具 性能测试方法.pdf
- 《GB/T 38048.6-2024表面清洁器具 第6部分:家用和类似用途湿式硬地面清洁器具 性能测试方法》.pdf
- 《GB/T 18238.2-2024网络安全技术 杂凑函数 第2部分:采用分组密码的杂凑函数》.pdf
- GB/T 18238.2-2024网络安全技术 杂凑函数 第2部分:采用分组密码的杂凑函数.pdf
- 《GB/T 17215.686-2024电测量数据交换 DLMS/COSEM组件 第86部分:社区网络高速PLCISO/IEC 12139-1配置》.pdf
- GB/T 13542.4-2024电气绝缘用薄膜 第4部分:聚酯薄膜.pdf
- 《GB/T 13542.4-2024电气绝缘用薄膜 第4部分:聚酯薄膜》.pdf
最近下载
- 公共危机案例.pdf VIP
- 3.5跨学科实践:探索厨房中的物态变化问题 +章节梳理延伸 课件 人教版(2024)物理八年级上册.pptx VIP
- 初中物理作业设计优秀案例(3篇).pdf
- 2023年急性ST段抬高型心肌梗死诊断和治疗指南.docx
- 大气的受热过程说课稿2023-2024学年高中地理湘教版(2019)必修一.docx VIP
- 外研版2023必修第一册Unit 3 Family matters重点词汇短语练习含答案.pdf
- 国家开放大学《心理学》形考任务1-4参考答案.docx VIP
- 售后转正工作总结PPT.pptx
- ISO45001品质中心第三方审核记录.doc
- 3.5+跨学科实践:探究厨房中的物态变化问题++课件-2024-2025学年物理人教版八年级上册.pptx VIP
文档评论(0)