数据结构课程设计报告报告(八皇后和停车场).doc_第1页
数据结构课程设计报告报告(八皇后和停车场).doc_第2页
数据结构课程设计报告报告(八皇后和停车场).doc_第3页
数据结构课程设计报告报告(八皇后和停车场).doc_第4页
数据结构课程设计报告报告(八皇后和停车场).doc_第5页
已阅读5页,还剩70页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数据结构课程设计报告报告 ( 八皇后和停车场 )错误 ! 文档中没有指定样式的文字。经济管理学院本科课程设计论文数据结构课程设计学号:1005170116姓名:李登班级:管理 101专业:信息管理与信息系统系别:管理系指导教师:孙鸿飞2011年12月30日吉林经济管理学院本科课程设计论文目录第 1 章 八皇后问题.- 0 -1. 1 课题综述八皇后问题的来源及意义 . - 0 -1. 2面对的问题 .- 1 -1.2 1 解决冲突问题 .- 1 -1.2 2 所用的知识 .- 1 -1.3需求分析 .- 2 -1.3.1涉及到的知识点 .- 2 -1.3.2功能要求 .- 2 -1.4概要设计

2、 .- 3 -1.4.1解决冲突问题 .- 3 -1.4.2数据结构的实现 .- 4 -1.4.3流程图 .- 5-1.5详细设计 .- 5-1.6调试分析及测试 .- 10-1.6.1遇到的问题及解决方法 .- 10-1.6.2算法的时空分析 .-11-1.6.3程序模块构架 .-11-经济管理学院本科课程设计论文1.6.4程序使用说明 .-12-1.6.5测试结果.-12-第 2 章 停车场管理问 .-15-2.1 要解决的问题 .-15-2.2 基本要求.-17-2.2.1解决问题的思路及要求 .-17-2.2 2 对栈的要求 .-17-2.2.3算法流程图 .-18-2.5.1栈的抽象

3、数据类型 .-21-2.5.2链式队列的抽象数据类型 .- 22 -2.6 模块划分.-24-2.6.1主程序模块 .-24-2.6.2两个栈模块 .-25-2.6.3队列模块.-25-实现队列抽象数据类型.-25-数据对象: D=aiaiElemSet,i=1,2,n,n=0 .-25-2.6.4模块调用关系 .-25-I经济管理学院本科课程设计论文2.7详细设计与源程序 .-26-2.7.1详细设计 .-26-2.7.2部分源程序 .-27-2.8调试过程中的问题及系统测试情况.-31-2.8.1出现的问题 .-31-2.8.2运行过程 .-31-课程设计心得体会 .-40-参考文献.-4

4、0-附录 .-40-II错误 ! 文档中没有指定样式的文字。第 1 章 八皇后问题1.1 课题综述八皇后问题的来源及意义八皇后问题是一个古老而著名的问题,该问题是十九世纪著名的数学家高斯1850 年提出的。在国际象棋中,皇后是最有权利的一个棋子;只要别的棋子在它的同一行或同一列或同一斜线(正斜线或反斜线)上时,它就能把对方棋子吃掉。所以高斯提出了一个问题:在 8*8 的格的国际象棋上摆放八个皇后,使其不能相互攻击,即任意两个皇后都不能处于同一列、同一行、或同一条斜线上面,问共有多少种解法。到了现代,随着计算机技术的飞速发展,这一古老而有趣的数学游戏问题也自然而然的被搬到了计算机上。运用所学计算

5、机知识来试着解决这个问题是个锻炼和提高我自己- 0 -错误 ! 文档中没有指定样式的文字。编程能力和独立解决问题能力的好机会,可以使我增强信心,为我以后的编程开个好头,故我选择了这个有趣的课题 。1. 2 面对的问题1.2 1 解决冲突问题这个问题包括了行,列,两条对角线;列:规定每一列放一个皇后,不会造成列上的冲突;行:当第 I 行被某个皇后占领后, 则同一行上的所有空格都不再放皇后,要把以 I 为下标的标记置为被占领状态 ;1.2 2 所用的知识使用数据结构的知识,用递归法解决问题- 1 -错误 ! 文档中没有指定样式的文字。1.3 需求分析1.3.1涉及到的知识点本次课程设计中,用到的主

6、要知识有:递归法的运用, for 语句的灵活运用。数据结构中树知识的灵活运用、栈及数组的掌握 。1.3.2功能要求当运行程序时,在屏幕上显示每一种方法八个皇后的相对位置,要用比较直观的界面显示。进入界面后,就会提示输入字符串的输入形式,在八皇后求解程序中,只要你选择输出解的格式,选择 1 则显示为每一列皇后的放置的行数,选择 2 则显示的是以矩阵形式形象的显示皇后的放置位置,选择 0 则退出程序的调试。在调试结- 2 -错误 ! 文档中没有指定样式的文字。果中, 1 的位置也就表示了该皇后应该所在的位置, 0 代表了空位置。1.4 概要设计本课件学生是用循环递归循环来实现的,分别一一测试了每一

7、种摆法,并把它拥有的 92 种变化表现出来。在这个程序中,我的主要思路以及思想是这样的:1.4.1 解决冲突问题这个问题包括了行,列,两条对角线;列:规定每一列放一个皇后,不会造成列上的冲突;行:当第 I 行被某个皇后占领后, 则同一行上的所有空格都不能再放皇后,要 把以 I 为下标的标记置为被占领状态;对角线:对角线有两个方向。在这我把这两条对角线称为:主对角线和从对角线。- 3 -错误 ! 文档中没有指定样式的文字。在同一对角线上的所有点(设下标为 (i,j) ),要么 (i+j) 是常数,要么 (i-j) 是常数。因此,当第 I 个皇后占领了第 J 列后,要同时把以 (i+j) 、 (i

8、-j) 为下标的标记置为被占领状态 。1.4.2 数据结构的实现而对于数据结构的实现,学生则是着重于:数组 aI :a I 表示第 I 个皇后放置的列;I 的范围: 1.8;对角线数组: bj( 主对角线 ),cj(从对角线),根据程序的运行,去决定主从对角线是否放入皇后- 4 -错误 ! 文档中没有指定样式的文字。1.4.3 流程图图 1-1算法流程图1.5 详细设计解析:递归实现n 皇后问题。算法分析:- 5 -错误 ! 文档中没有指定样式的文字。数组 a、b、c 分别用来标记冲突, a 数组代表列冲突,从 a0a7 代表第 0 列到第 7 列。如果某列上已经有皇后,则为1,否则为 0。数

9、组 b 代表主对角线冲突,为 bi-j+7 ,即从 b0b14 。如果某条主对角线上已经有皇后,则为 1,否则为 0。数组 c 代表从对角线冲突,为 ci+j ,即从 c0c14 。如果某条从对角线上已经有皇后,则为 1,否则为 0。代码如下:#include static char Queen88;static int a8;static int b15;static int c15;static int iQueenNum=0; /记录总的棋盘状态数void qu(int i);/参数 i 代表- 6 -错误 ! 文档中没有指定样式的文字。行int main()int iLine,iCol

10、umn;/ 棋盘初始化,空格为 * ,放置皇后的地方为 for(iLine=0;iLine8;iLine+)aiLine=0; /列标记初始化,表示无列冲突for(iColumn=0;iColumn8;iColumn+)QueeniLineiColumn=*;/ 主、从对角线标记初始化, 表示没有冲突for(iLine=0;iLine15;iLine+)biLine=ciLine=0;qu(0);- 7 -错误 ! 文档中没有指定样式的文字。return 0;void qu(int i)int iColumn;for(iColumn=0;iColumn8;iColumn+)if(aiColum

11、n=0&bi-iColumn+7=0& &ci+iColumn=0)/ 如果无冲突QueeniiColumn=;/放皇后aiColumn=1;/标记,下一次该列上不能放皇后bi-iColumn+7=1;/标记,下一次该主对角线上不能放皇后- 8 -错误 ! 文档中没有指定样式的文字。ci+iColumn=1;/ 标记,下一次该从对角线上不能放皇后if(i7) qu(i+1);/如果行还没有遍历完,进入下一行else /否则输出/输出棋盘状态int iLine,iColumn;printf(第 %d 种状态为:n,+iQueenNum);for(iLine=0;iLine8;iLine+)for

12、(iColumn=0;iColumn8;iColumn+)printf(%c,QueeniLineiColumn);printf(n);- 9 -错误 ! 文档中没有指定样式的文字。printf(nn);/如果前次的皇后放置导致后面的放置无论如何都不能满足要求,则回溯,重置QueeniiColumn=*;aiColumn=0;bi-iColumn+7=0;ci+iColumn=0;1.6 调试分析及测试1.6.1遇到的问题及解决方法由于对八个皇后放置的位置不能一次确定,而且前一个皇后的放置位置直接影-10-错误 ! 文档中没有指定样式的文字。响着后面的放置位置,使程序调试时要花费不少时间。本程

13、序有些代码重复出现, 显得程序的有些代码看起来很杂乱。但其中最主要的问题是逻辑错误导致程序死循环或不循环或循环一小部分 , 但是编译时却没有错误, 就是没有正确的输出答案。1.6.2算法的时空分析该算法的运行时间和和皇后的放置方法成正比,在最好情况下的时间和空间复杂度均为 O(1),在最差情况下均为 O(n*n),平均情况在它们之间。1.6.3程序模块构架本程序模块划分比较合理,且利用指数组存储棋盘,操作方便。至于整体的系统架构,为了简单起见,这样的系统可以分-11-错误 ! 文档中没有指定样式的文字。成两个模块,第一个模块是负责模拟问题、提供算法,而另外一个模块则致力于窗口演示,是一个窗体应

14、用程序1.6.4程序使用说明本程序的运行环境为 DOS操作系统进入演示程序后即显示文本方式的用户界面进入界面后,就会提示输入字符串的输入形式,在八皇后求解程序中,只要你选择输出解的格式,选择1 则显示为每一列皇后的放置的行数,选择2 则显示的是以矩阵形式形象的显示皇后的放置位置,选择 3 则退出程序的调试。 在调试结果中,1 的位置也就表示了该皇后应该所在的位置, 0 代表了空位 置。1.6.5 测试结果-12-错误 ! 文档中没有指定样式的文字。图 1-2初步运行界面-13-错误 ! 文档中没有指定样式的文字。图 1-3位置标明每一行皇后放置的列数图 1-4位置标明每一行皇后放置的列数-14

15、-错误 ! 文档中没有指定样式的文字。图 1-5视图矩阵形式显示皇后位置第 2 章 停车场管理问2.1要解决的问题停车场是一条可以停放 n 辆车的狭窄通道,且只有一个大门汽车停放安到达时间的先后依次由北向南排列(大门在最南端,最先到达的第一辆车停在最北端)若停车场已经停满 n 辆车,后来的汽车在便道上等候,一旦有车开走,-15-错误 ! 文档中没有指定样式的文字。排在便道上的第一辆车可以开入;当停车场的某辆车要离开时,停在他后面的车要先后退为他让路,等它开出后其他车在按照原次序开入车场,每两停在车场的车要安时间长短缴费。 要求:以栈模拟停车场,以队列车场外的便道,按照从终端输入的数据序列进行模

16、拟管理。每一组数据包括三个数据项:汽车“到达”或“离去”信息、汽车牌照号码、以及到达或离去的时刻。对每一组数据进行操作后的信息为:若是车辆到达,则输出汽车在停车场的内或便道上的位置:若是车辆离去则输出汽车在停车场内的停留时间和应缴纳的费用(在便道上的停留时间不收费) 。栈以顺序结构实现,队列以链表结构实现 。-16-错误 ! 文档中没有指定样式的文字。2.2 基本要求2.2.1 解决问题的思路及要求以栈模拟停车场,以队列模拟车场外的便道,按照从终端读入的输入数据序列进行模拟管理。每一组输入数据包括三个数据项:汽车到达或离去信息,汽车牌照号码以及到达或离去的时刻。对每一组输入数据进行操作后的输出

17、信息为:在停车场内停留的时间和应交纳的费用(在便道上停留的时间不收费) 。栈以顺序结构实现,队列以链表结构实现。2.2 2 对栈的要求需要另设一个栈,临时停放为离去的汽车让路而从停车场退出来的汽车,也用顺序存储结构实现。栈中每个元素表示一辆汽车,包含两个数据项:汽车的牌照号码和进入停车场的时刻-17-错误 ! 文档中没有指定样式的文字。2.2.3 算法流程图-18-错误 ! 文档中没有指定样式的文字。开初始化两进入车车列退是车场车场便道否退Room对否判便道是判断栈否是便道元 素 进元素栈队 列队列中结图 2-1算法流程图-19-错误 ! 文档中没有指定样式的文字。2.4 算法基本思想描述由于

18、停车场是一个狭窄通道,而且只有一个大门可供汽车进出,问题要求汽车停车场内按车辆到达时间的先后顺序,依次由北向南排列。由此很容易联想到数据结构中的堆栈模型,因此可首先设计一个堆栈,以堆栈来模拟停车场,我设计用顺序存储结构来存储停车场内的车辆信息,并给车辆按进栈顺序编号,当停车场内某辆车要离开时,在他之后进入的车辆必须先退出车场为它让路, 待该辆车开出大门外,其他车辆再按原次序进入停车场。这是个一退一进的过程,而且让道的汽车必须保持原有的先后顺序,因此可再设计一个堆栈,以之来暂时存放为出站汽车暂时让道的汽车。当停车场满后,继续进来的汽车需要停放在停车场旁边的便道上等候,若-20-错误 ! 文档中没

19、有指定样式的文字。停车场有汽车开走,则按排队的先后顺序依次进站,最先进入便道的汽车将会最先进入停车场,这完全是一个先进先出模型,因此可设计一个队列来模拟便道,队列中的数据元素设计成汽车的车牌号,并以链表的形式存储。另外,停车场根据汽车在停车场内停放的总时长来收费的,在便道上的时间不计费,因此必须记录车辆进入停车场时的时间和车辆离开停车场时的时间,然后计算、显示费用情况。2.5 概要设计2.5.1 栈的抽象数据类型ADT stack数据对象: D=aiai charset,I=1,2, , n,n=0数 据 关 系 : R1=ai-1,aiai-1,ai D,I=2 ,n基本操作:Initsta

20、ck(&S)操作结果:构造一个空栈S。DestroyStack(&S)初始条件:栈S 已经存在。-21-错误 ! 文档中没有指定样式的文字。操作结果:操作结果:销毁栈S。ClaerStack(&S)初始条件:栈S 已经存在。操作结果:将S 清空为空栈。StackLength(&S)初始条件:栈S 已经存在。操作结果:返回栈S 的长度。StackEmpty(&S)初始条件:栈S 已经存在。操作结果:若 S 为空栈,则返回 TURE ,否则返回 FALSE 。GetTop(S,&e)初始条件:栈S 已经存在。操作结果:若栈 S 不空,则以 e 返回栈顶元素。Push(&S,e)初始条件:栈S 已经

21、存在。操作结果:在栈S 的栈顶插入新的栈顶元素 e。Pop(&S,&e)初始条件:栈S 已经存在。操作结果:删除 S 的栈顶元素,并以 e 返回其值。StackTraverse(S,visit()初始条件:栈S 已经存在。操作结果:从栈底到栈顶依次对 S 中的每个元素调用函数 visit( ) 。ADT stack2.5.2 链式队列的抽象数据类型typedef struct Qnode-22-错误 ! 文档中没有指定样式的文字。QelemTypedata;Struct Qnodenext;Qnode,QueuePtr;typedef structQueuePtr front; 队头指针 Qu

22、euePtr rear; 队尾指针 ADT Queue数 据 对 象 : D=aiai ElemSet,i=1,2, ,n,n=0数 据 关 系 : R1=ai-1,aiai-1,ai D,i=2, ,n约定中端为队列头,后端为队列尾。基本操作:InitQueue(&Q)操作结果:构造一个空队列Q。DestroyQueue(&Q)初始条件:队列Q 已经存在。操作结果:队列Q 被销毁,不再存在。ClearQueue(&Q)初始条件:队列Q 已经存在。操作结果:将Q 清为空队列。QueueEmpty(Q)初始条件:队列Q 已经存在。操作结果:若 Q 为空队列,则返回 TRUE ,否则 FALSE

23、。QueueLength(Q)初始条件:队列Q 已经存在。操作结果:返回 Q 的元素个数,即队列的长度。GetHead(Q,&e)初始条件: Q 为非空队列。操作结果:用e 返回的 e 队头元素。-23-错误 ! 文档中没有指定样式的文字。EnQueue(&Q,e)初始条件:队列Q 已经存在。操作结果:插入元素 e 为 Q 的新的队尾元素。DeQueue(&Q,&e)初始条件: Q 为非空队列。操作结果:删除 Q 的队头元素,并用 e 返回其值。QueueTraverse(Q,visit()初始条件: Q 已经存在且非空。操作结果:从队头到队尾,依次对 Q 的每个数据元素调用函数 visit(

24、) 。一旦 visit() 失败,则操作失败。ADT Queue2.6 模块划分2.6.1 主程序模块main()初始化while( 重复条件 )接受命令;switch( 调用条件 )Case 调用条件 A到达处理; break ;Case 调用条件 D离开处理; break ;Case 调用条件 E退-24-错误 ! 文档中没有指定样式的文字。出处理;2.6.2两个栈模块实现栈抽象数据类型 :数 据 对 象 : D=aiai charset,I=1,2, , n,n=0数 据 关 系 : R1=ai-1,aiai-1,ai D,I=2 ,n2.6.3队列模块实现队列抽象数据类型数 据 对 象

25、 : D=aiai ElemSet,i=1,2, ,n,n=0数 据 关 系 : R1=ai-1,aiai-1,ai D,i=2, ,n 约定中端为队列头,后端为队列尾。2.6.4模块调用关系-25-错误 ! 文档中没有指定样式的文字。主程序栈模块 1队列模栈模块 2图 2-2模块调用关系栈模块 1-模拟停车场栈模块 2-模拟倒车场队列模块 -模拟车道2.7 详细设计与源程序2.7.1 详细设计以栈模拟停车场 ,以队列模拟停车场外的便道 ,按照从终端读入的输入数据序列进行模拟管理。另设一个栈,临时停放为离去的汽车让路而从停车场退出来的汽车。栈以顺序存储结构实现,队列以链表存储结构实现。停车场栈

26、 park 模拟停车场。临时栈 Aux-park 模拟倒车场。便道队列 Road 模拟停车场外便道。程序运行后,先设定停车时间单位和计费单位,再设定停车场容量(测试数据设定停车场容量 n=2)。继续输入车辆数据:车辆属性(到达 A或离开 D)、车牌号、时间(到达时间或离开时间) 。程序根据输-26-错误 ! 文档中没有指定样式的文字。入数据中的“车辆属性”进入该属性程序模块。输出车辆停放位置或离开时的收据。然后循环,继续输入车辆数据。当输入车辆数据为 E时,程序自动退出。2.7.2 部分源程序停车场问题管理程序代码如下:#include/定义输入输出函数#include/数据流输入输出#inc

27、lude/字符串处理#include/定义数学函数#include/ 定义杂项函数及内存分配函数#definesize 2/停车场位置数/ 模拟停车场的堆栈的性质typedef struct zanlindint number;/汽车车号int ar_time;/汽车到达时-27-错误 ! 文档中没有指定样式的文字。间zanInode;typedef structzanInode*base;/停车场的堆栈底zanInode*top;/停车场的堆栈顶int stacksize_curren;stackhead;/ 堆栈的基本操作;voidinitstack(stackhead&L)/ 构造一个空

28、栈L.base=(zanInode*)malloc(size*sizeof (zanlind);if(!L.base)exit(0);/存储分配失败L.top=L.base;-28-错误 ! 文档中没有指定样式的文字。L.stacksize_curren=0;voidpush(stackhead&L,zanInode e) / 把元素 e 压入 L 栈成为新的栈顶元素*L.top+=e;L.stacksize_curren+;void pop(stackhead &L,zanInode &e) / 把元素 e 弹出 L 栈if(L.top=L.base)cout停车场为空 !;return;e

29、=*(-L.top);L.stacksize_curren-;-29-错误 ! 文档中没有指定样式的文字。/模拟便道的队列的性质typedef struct duilieint number;/汽车车号int ar_time;/汽车到达时间struct duilie *next;*queueptr;Typedef structqueueptr front;/便道的队列的队头queueptr rear;/便道的队列的队尾int length;linkqueue;/队列的基本操作voidinitqueue(linkqueue&q)/ 构造一个空队列-30-错误 ! 文档中没有指定样式的文字。2.8

30、 调试过程中的问题及系统测试情况2.8.1 出现的问题(1 )编程过程中忽略头文件的作用, 导致漏掉了一个头文件 , 以致产生下列错误提示。错 误 提 示 : errorC2065:malloc:undeclared identifierC2065:exit:errorundeclared identifier执行 cl.exe 时出错 .在代码中加上 #definestdlib.h ,解决此问题。( 2)没有良好的编程习惯, 没有合适的缩进及换行,给程序的调试带来了比较多的困难。( 3)编程过程中比较粗心, 一些程序结束的分号和成对出现的大括号忘记写。2.8.2 运行过程-31-错误 ! 文

31、档中没有指定样式的文字。图 2-3 这是停车场系统的登录界面。-32-错误 ! 文档中没有指定样式的文字。图 2-4 车辆到达登记信息,为了便于观察,车场内最多可停 3 辆车,当停车场内已满时,只登记车牌号,然后进入便道上,即进入队列中。图 2-5分别显示车场内和便道上-33-错误 ! 文档中没有指定样式的文字。的车辆信息情况。图 2-6 车场内车辆离开时,输入离开时间,然后计算、显示费用,如果便道上有车, 则显示要进入车场内的车牌号码,同时登记时间。课程设计心得体会过这次数据结构课程设计,我认识到从课本上学到的知识是远远不够的。本次设计使我深入的了解了栈与队列的建立、插入、删除和在实际问题下

32、灵活运用它们,另一方面使我对栈和队列的抽象数据类型-34-错误 ! 文档中没有指定样式的文字。有了进一步的认识。例如:关于停车场问题的, 总体来说,这个题目还是比较简单的,主要是运用了栈和队列的一些知识和操作。也没有用到其他太多的数据结构知识。程序基本上还是能够运行,结果也正确,能够实现那些基本的车辆到达、离开、收费、遍历显示等主要功能。但我觉得这个程序还有很多小的地方是可以完善的,比如:在输入登记车辆到达时间的时候,没有相关的小时、分钟数字的限制范围 (小时 023 ,分钟060);这就使程序不那么健壮了,还有,在计算收费时如果离开时间是到了第二天了,这样就可能会导致收费时负的或减少很多。就

33、是说,还应该算天数,要不就要规定只能当天停,当天开走。我改了几次改不好,又鉴于程序要求中也没有提及,所以我也就没去该了。只要能实现主要的-35-错误 ! 文档中没有指定样式的文字。功能就好了。我的收获如下( 1)巩固和加深了对数据结构的理解,提高综合运用本课程所学知识的能力。( 2)培养了我选用参考书,查阅手册及文献资料的能力。培养独立思考,深入研究,分析问题、解决问题的能力。( 3)通过实际编译系统的分析设计、编程调试,掌握应用软件的分析方法。( 4)通过课程设计, 培养了我严肃认真的工作作风,逐步建立正确的生产观念、经济观念和全局观念。根据我在实习中遇到得问题,我将在以后的学习过程中注意以

34、下几点:1、认真上好专业实验课, 多在实践中锻炼自己。更让我懂得实践是检验和掌握真理的最好办法。2、写程序的过程中要考虑周到, 严密。3、在做设计的时候要有信心, 有耐心,-36-错误 ! 文档中没有指定样式的文字。切勿浮躁。4、认真的学习课本知识, 掌握课本中的知识点,并在此基础上学会灵活运用。5、在课余时间里多写程序, 熟练掌握在调试程序的过程中所遇到的常见错误,以便能节省调试程序的时间。6 、虽然经过努力终于把该系统完成,可是该系统还是不完善,程序中的一些算法还不是很清楚,只不过把简单的功能实现了出来,这些缺憾归根结底都是因为我的 C+语言和数据结构的水平还不是很高 ,还需要经过不懈的努

35、力才能做出比较完善的系统。这次课程设计让我明白要真正的掌握一门编程语言需要的不仅仅是课本上的东西,还要在实际的编程过程中慢慢的掌握其中的奥妙。同时我明白了,要成为一名优秀的编程人员所要具备的各种条件(坚实的编程语言基础、熟练的调试程序的技能、重要的是要有耐心、同时细-37-错误 ! 文档中没有指定样式的文字。心也是不可缺少的) 。所以为了自己的梦想,在以后的学习过程中,我要不断的充实自己,努力的学习。 通过这次课程设计,对数据结构的特点以及存储表示方式的认识有了明显的提高,同时还对在具体应用中选择合适的数据结构和存储结构的能力有了进一步的提升。参考文献1. 吕凤哲 ,C+语言程序设计 (第二版

36、) .北京:电子工业出版社,20052. 耿国华等著,数据结构 C 语言描述,西安电子科技大学出版社-38-错误 ! 文档中没有指定样式的文字。3. 苏仕华 , 数据结构课程设计 .- 北京 : 机械工业出版社 ,2005.54 严蔚敏,吴伟民主编 . 数据结构(C 语言版) . 清华大学出版社 . 20025殷人昆等著 .数据结构( C+版) .清华大学出版社 . 20016金远平著 .数据结构(C+描述) .清华大学出版社 . 20057许卓群等著 .数据结构与算法 .高等教育出版社 . 2004-39-错误 ! 文档中没有指定样式的文字。附录q.front=q.rear=(queueptr)malloc(sizeof(du ilie);if(!q.front|!q.rear)exit(0);q.front-next=NULL;q.length=0;void enqueue(linkqueue &q,int number,int ar_time)/把元素插入队列成为新的队尾元素(属性为 number ,ar_time )-40-错误 ! 文档中没有指定样式的文字。queueptr p;p=(queueptr)malloc(sizeof(duilie);if(!p) exit(0);p-number=number;p-

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论