求数据结构最小生成树的实验报告,包含流程图,

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/03 04:14:29

求数据结构最小生成树的实验报告,包含流程图,
求数据结构最小生成树的实验报告,包含流程图,

求数据结构最小生成树的实验报告,包含流程图,
数据结构(实验报告)
姓名: 高 申 雷
学号: 0613042024
日期: 2008年3月25日
一、实验题目: 停 车 场 管 理
二、问题描述:
设停车场是一个可以停放n辆汽车的狭长通道,且只有一个大门可以供车辆进出.车辆按到达停车场时间的早晚依次从停车场最里向大门口处停放(最先到达的第一辆车放在停车场的最里面).如果停车场已放满n辆车,则后来的车只能在停车场大门外的便道上等待,一旦停车场内有车开走,则排在便道上的第一辆车就进入停车场.停车场内如有某辆车要开走,在它之后进入停车场的车都必须先退出停车场为它让路,待其开出停车场后,这些车辆再依原来的次序进场.每辆车在离开停车场时,都应根据它在停车场内停留的时间长短交费.如果停留在便道上的车未进停车场就要离去,允许其离去,不收停车费,并且仍然保持在便道上等待的车辆次序.编制一程序模拟该停车场的管理.
三、需求分析:
停车场采用栈式结构,停车场外的便道采用队列结构(即便道就是等候队列).停车场的管理流程如下:
①当车辆要进入停车场时,检查停车场是否已满,如果未满则车辆进栈(车辆进入停车场);如果停车场已满,则车辆进入等候队列(车辆进入便道等候).
②当车辆要求出栈时,该车到栈顶的那些车辆先弹出栈(在它之后进入的车辆必须先退出车场为它让路),再让该车出栈,其他车辆再按原次序进栈(进入车场).当车辆出栈完毕后,检查等候队列(便道)中是否有车,有车则从队列头取出一辆车压入栈中.
四、概要设计:
1、用栈模拟停车场,用队列模拟车场外的便道,按照从终端读入的输入数据序列进行模拟管理.
2、每一组输入数据包括三个数据项:汽车到达或离去的信息,汽车牌照号码以及到达或离去的时刻.
3、每次输入完进行输出操作:若是车辆到达,输出汽车在停车场内或便道上的停车位置;若是车辆离去,输出停留时间和应缴纳的费用(在便道上停留的时间不收费).
4、其中栈以顺序结构实现,队列以链表结构实现.
五、详细设计:
1、定义栈(停车场) struct stack
初始化栈void initstack(stack* s)
元素进栈int instack(stack* s,cinfo x)
元素出栈cinfo outstack(stack* s)
2、定义队列(车场外的便道)struct queue
初始化队列void initqueue(queue* q)
元素进队列void inqueue(queue* q,int num1)
元素出队列int outqueue(queue* q)
3、处理车辆到达的情况void carrival(stack* s,queue* q,cinfo x)
处理车辆离开void carleave(stack* s1,stack* s2,queue* q,cinfo x)
4、主程序void main()
注:详细设计中的具体代码见模块代码中.
六、模块代码:
#include"iostream.h"
int N;
const int M=5;//M为单元时间的收费值
struct cinfo//定义栈中元素的类型
{ int cnum; int atime;
};
struct stack//定义栈
{ cinfo cstack[3000];//这里随便定义一个数字表示数组的长度,因为后
int top; //面会根据用户输入的N值作为停车场能够停车的
int size; //数量.
};
struct node//定义队列节点的类型
{ node* next; int nnum;
};
struct queue//定义队列
{ node *front,*rear;
};
void initstack(stack* s)//初始化栈
{ s->top=-1;
}
int instack(stack* s,cinfo x)//元素进栈
{ //int 元素进栈n;
if(s->top==N-1)
{ coutcstack[s->top+1];
}
}
void initqueue(queue* q)//初始化队列
{ q->front=new node;
q->rear=q->front;
q->front->next=NULL;
q->front->nnum=0;
}
void inqueue(queue* q,int num1)//元素进队列
{ node* p;
p=new node;
p->nnum=num1;
p->next=NULL;
q->rear->next=p;
q->rear=p;
q->front->nnum++;
}
int outqueue(queue* q)//元素出队列
{ node* p;
int n;
if(q->front==q->rear) return 0;
else {
p=q->front->next;
q->front->next=p->next;
if(p->next==NULL)
q->rear=q->front;
n=p->nnum;
delete p;
q->front->nnum--;
return n;
}
}
void carrival(stack* s,queue* q,cinfo x)//处理车辆到达的情况
{ int f;
f=instack(s,x);
if(f==0) {
inqueue(q,x.cnum);
cout

求数据结构最小生成树的实验报告,包含流程图, 求一份关于数据结构的实验报告 数据结构实验的实验报告怎么写 数据结构课程设计用Kruskal 算法求最小生成树我要的是Kruskal 算法求最小生成树 使用普里姆算法求最小生成树.我们数据结构(c语言版)的作业. 数据结构中关于最小生成树的步骤 数据结构习题 在一个带权连通图G中,权值最小的边一定包含在G的_____生成树中.(A)广度数据结构习题 在一个带权连通图G中,权值最小的边一定包含在G的_____生成树中.(A)广度优先 (B)深度优先 (C) 数据结构实验报告的写法数据结构实验报告的要求中要求有程序结构,这是要写什么内容 数据结构的实验报告中要让写“定义测试数据”和“数据结构定义”,这两个词是让写什么啊? 最小生成树都带权吗?(数据结构) 细胞培养的实验报告要找实验目的,实验材料和器材,实验流程,实验结果. 数据结构普里姆算法构造最小生成树题求解 《数据结构 课程设计》表达式求值 实验报告 用普里姆算法求最小生成树(C++)数据结构试验,要求用C++,用PRIM算法求最小生成树.求C++程序.要C++代码,贴出来,能输入顶点和边,计算最小生成树 求最小生成树 利用Kruskal算法求图G的一棵最小生成树T,用c语言测试用例:无向图G=.算法:Kruskal输入:包含n个顶点的带权连通无向图G=(用矩阵表示)输出:由G生成的最小生成树T所包含的边 数据结构中包含的函数如何使用 求带权图的最小生成树一、实验目的熟练理解求最小生成的Prim算法;锻炼程序设计能力.二、实验内容编程实现求无向带权图的最小生成树.三、实验原理、方法和手段设图G =(V,E),其生成树 求硝酸钾的制备实验报告