停车场栈和队列需求分析.doc
上传人:yy****24 上传时间:2024-09-10 格式:DOC 页数:4 大小:36KB 金币:16 举报 版权申诉
预览加载中,请您耐心等待几秒...

停车场栈和队列需求分析.doc

停车场栈和队列需求分析.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

16 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

停车场栈和队列需求分析算法概述首先对于栈的算法,要了解栈的特性,栈作为先进后出的存储模式,尽管其在编写算法上有很多的方式,,有数组赋值的方式,有指针移动的方式,尽管方法很多,但是基本上主旨思想是不变,无非是通过改变地址,来实现栈的进出。所以对于栈的关键就是地址的了解,了解它的顺序存储结构。而对于队列,就必须了解队列是采用先进先出的方式,而且主要是链式存储结构,头尾相连。所以对于这些算法在了解其算法和特征和方法之后,就可以方便我们对于具体问题,具体的解决。问题分析首先对于该停车场管理的代码编写,我们先要有将程序的功能模块根据需求来进行分割,由于改程序的目的是模拟数据结构中的栈的算法和队列算法,尽管在VC++6.0的C++标准库里已经有关于Stack,Queue预设函数,可以不必写了,但是为了通过模拟停车场管理的方法有必要重新重新写一遍Stack,Queue函数。对于该停车场管理,可以理解为,在停车场内通过栈的方式进行管理,在停车场外的便道上却是使用队列的方式进行管理,所以这里问题可以分解为设计一个程序,通过调用栈的算法和队列的算法在主函数中进行编程。我们可以编制三个程序,首先是我们的设计栈的算法的程序,栈的算法的程序是一个接口,我已经将其命名为sq_Stack.h(文件后缀名是.h)另外设计一个队列的算法,该接口命名为sq_Queue.h(文件后缀名是.h),这样我们在下一个sq_park.cpp(文件后缀名是.cpp)。编写时间分配9:30-:11:00主要是看书,准备,了解栈和算法的特征,以及算法中的基本方法和周期,了解其一些特征,查阅书籍,了解栈的基本特性,同时对于问题进行具体分析和了解,将基本的过程在图纸上进行模拟。12:30-15;00主要是对栈的算法,也就是sq_Stack.h文件进行编写,编写的过程中,主要参照了书籍,边写边查阅书籍,了解其算法过程,编写的过程中,边写边编译,及时发现错误,效率比较低。调试过程中,最后编译没有错误,但是运行的时候有一个错误。15:00-16:30主要是对于队列的算法进行编写,编写的过程中,参照了栈的算法的编写,采取一次全部写完,然后一次调试,调试过程错误较多,和上一个阶段类似,最后编译没有错误,但是运行的时候有一个错误。16:30-17:40这段时间内,开始写主程序,也就是sq_park.cpp,这段时间,基本上很多的写出来的东西在调试的过程中,出现了很多的语法错误,而且关于C++语言的结构体,数组,基本上很难回忆起来,同时在做这个程序的过程,做了一个test的小程序,用来测试一下输入输出,帮助回忆。18:30-20:00错误将主程序不小心给删掉了,于是重新写过,然后一些基本的东西,在脑海里重新构思,重新整理程序的需求分析,然后调整编写程序的方法,将没有用的程序和或者编译出错的方法和语句,基本上注释掉,主要是修改和构思。21:00-22.30将主程序的过多没有用语句删除,向本科做C++开发的同学请教一些问题,这些问题主要是开发中一些冗余的代码编写,,让同学检查代码的过程有没有没有必要写的东西,解决一些编译器发现不了的语法冗余和错误。22.30-01:00这段时间对于主程序的开发重新编写,将类里的变量和函数重新进行编写,在编写的过程,由于很多调用和方法基本上没有用到了,所以重新查阅书籍,或者在网上及时寻找一些别人的代码,同时查看一下以前别人的算法,来对照自己的算法编写过程。开发环境该开发环境是在VC++6.0的开发平台上进行开发,使用C++语言作为开发语言,操作系统为windows7.使用方法该文件在解压缩的路径下,可以直接在打开debug文件夹下的sq_park.exe应用程序打开,就可以进入DOS对话框,然后就可以看到通过栈和队列算法预设的两个出栈,和出队列的算法,接下来后面的就可以自己手动输入,从而实现计算。