数据结构课程设计文章编辑器 第4页

数据结构课程设计文章编辑器 第4页

5-3

  5.4 最后是删除某个字符的功能,随便输入一个文章里面的某个字母,如w,然后按回车键,程序自动将文章里面出现的所有的w删除,画面出现删除w的文章结果如图5-4  

5-4

  5.5 在编译结束运行完程序后,在同目录下生成了三个文件,文本文件里有文章的代码,其中包括生成的MPR1.c文本文档、MPR1.ObjMPR1.Exe可执行文件,按照格式输入一段字母、空格和数字,然后按回车,程序出现“人性化”界面,包括已经完成的统计功能,下面是选择项目,输入正确的操作指令,程序正常执行其他相应的功能;否则跳出程序,程序验证正确.

  5.6程序包括的字母统计函数、空格统计函数、字数统计函数、数字统计函数、标点符号统计函数、字符串统计函数,它们的时间复杂度都是On);而字符串删除函数虽然不采用递归手法,采用重新建立一颗不含要删结点的二插排序树,但是它的时间复杂度也是On.

6.设计体会

    这次课程设计作业使我对用高级语言编程产生了极大兴趣.通过这次课程设计也着实让自己感受到了一次编程的乐趣,从中也学到了不少知识.虽然都说程序=数据结构+算法,但我在学习运用数据结构编程之前,并没能深刻体会到这一点,直到这次课设实践.

    总的来说自己感受最深的一点是:以前用C编程,只是注重如何编写函数能够完成所需要的功能,似乎没有明确的战术,只是凭单纯的意识和简单的语句来堆砌出一段程序.感觉有点像张飞打仗,有勇无谋,只要能完成任务就行.但现在编程感觉完全不同了.在编写一个程序之前,自己能够综合考虑各种因素,首先选取自己所需要的数据结构,是树还是图或是别的什么?然后选定一种或几种存储结构来具体的决定后面的函数的主要风格.最后在编写每一个函数之前,仔细斟酌比对,挑选出最适合当前状况的算法.这样,即使在完整的程序还没有写出来之前,自己心中已经有了明确的原图了.这样无形中就提高了自己编写的程序的质量和速度.另外,还体会到深刻理解数据结构的重要性.只有真正的理解这样定义数据类型的好处,才能用好这样一种数据结构.了解典型数据结构的性质也是非常有用的,它往往是编写程序的关键.以前对递归算法一直很害怕,总是看不明白究竟这递归是怎么样一步步进行的.在这次课程设计中终于克服了这一障碍,一次次单步执行书中的递归函数的例子,并一遍遍在心中自己默默的走,终于弄明白了,同时还根据自己的理解写出了类似的递归函数实现了新的功能,受益良多!

    在这次课程设计中,对参数的调用也进行了很多种尝试,已经能够相对准确的选择合适的参数形式来实现函数之间的数据传输交互了.但在这次课程设计中也出现一些比较严重的错误.在用一维数组顺序表结构编写程序时错误的运用静态链表来实现函数功能.这是对基本概念理解的模糊不清造成的.原以为只要采用一维数组作为存储结构它就一定也是顺序表结构,而实质上这根本是两个不相干的概念.后来在老师和同学的指点帮助下意识到并改正了自己的错误.不过收获也很不少的,至少又练习了运用静态链表来实现同样的功能,同时也发现两者在很多函数上是互通的,只需稍作修改即可移植.总之,会继续有兴趣的编写程序,相信在越来越多的尝试之后,自己会不断的进步不断提高的.

7.参考文献

[1]《数据结构》,严蔚敏等,清华大学出版社

[2]《数据结构题集》,严蔚敏等,清华大学出版社

[3]《程序设计与问题求解》,朱国进等,东华大学出版社

 

上一页  [1] [2] [3] [4] 

Copyright © 2007-2012 www.chuibin.com 六维论文网 版权所有