没有合适的资源?快使用搜索试试~ 我知道了~
C++数据结构停车场管理.doc
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 5 下载量 20 浏览量
2022-07-11
07:52:11
上传
评论 2
收藏 62KB DOC 举报
温馨提示
试读
13页
数据结构实验报告 实验题目: 停车场管理 学生姓名: 班 级: 学 号: 问题描述 设有一个停车场,它是利用一个南北向的狭窄通道建成,北端封闭,大门在最南端。 最先到达的汽车停放在最北端,后面到达的汽车从北至南依次顺序停放。停车场只能停 放n辆汽车。当停车场停满n辆车后,后面到达的汽车只能在门外的便道上等候。一旦有 汽车开走,便道上等候的第一辆车就可以开入停车场停放。当停车场内某辆汽车要离开 时,在它之后进入的车辆必须先退出停车场为它让路,待该车开出大门外,其他汽车再 按原次序返回车场。每辆停放在车场内的汽车在离开时必须按它停放时间的长短交纳费 用。 例题分析 每到达一辆汽车,先检查停车场栈是否已满,若未满则该车进入停车场停放(入栈操 作),并将该车的车号和停放时刻记录在停车场栈的相应元素中,同时显示该车在停车 场内的停放位置。反之,若停车场已满,则该车排到便道上等候的汽车队列最后(入队 列操作),并将该车的车号信息记录在汽车队列的相应结点内,同时显示该车在便道上 的停放位置。 若要取一辆汽车,则需依次进行下述操作:将阻挡在它后面的汽车退出(停车场栈的 出栈操作),并将这些汽车临时存放
资源推荐
资源详情
资源评论
C++数据结构停车场管理
数据结构实验报告
实验题目: 停车场管理
学生姓名:
班 级:
学 号:
问题描述
设有一个停车场,它是利用一个南北向的狭窄通道建成,北端封闭,大门在最南端。最
先到达的汽车停放在最北端,后面到达的汽车从北至南依次顺序停放。停车场只能停放 n 辆
汽车。当停车场停满 n 辆车后,后面到达的汽车只能在门外的便道上等候。一旦有汽车开走,
便道上等候的第一辆车就可以开入停车场停放。当停车场内某辆汽车要离开时,在它之后进
入的车辆必须先退出停车场为它让路,待该车开出大门外,其他汽车再按原次序返回车场。
每辆停放在车场内的汽车在离开时必须按它停放时间的长短交纳费用。
例题分析
每到达一辆汽车,先检查停车场栈是否已满,若未满则该车进入停车场停放(入栈操
作),并将该车的车号和停放时刻记录在停车场栈的相应元素中,同时显示该车在停车场内
的停放位置。反之,若停车场已满,则该车排到便道上等候的汽车队列最后(入队列操作),
并将该车的车号信息记录在汽车队列的相应结点内,同时显示该车在便道上的停放位置。
若要取一辆汽车,则需依次进行下述操作:将阻挡在它后面的汽车退出(停车场栈的
出栈操作),并将这些汽车临时存放在另一个辅助栈中(辅助栈的入栈操作);开走要取的汽
车(停车场栈的出栈操作),并显示该车应交纳的费用;依次从辅助栈中开出汽车(辅助栈
出栈操作),开回停车场中(停车场栈的入栈操作);这时停车场已有一个空车位,便道上等
候的第一辆汽车则可以开进停车场内停放(汽车队列的出队列操作和停车场栈的入栈操作)。
程序源代码
#include<iostream>
#include<conio.h>
#include<iomanip>
#include<fstream>
#include<string>
#include <stdlib.h>
#include <windows.h>
C++数据结构停车场管理
using namespace std;
#define Max_Size 2//停车的最大容量
#define HourFare 2 //每小时的停车费用
int CountForStack=0; //栈里现有的车数
int CountForQueue=0; //排队等候的车数
typedef struct
{
char Condition;//到达或者离开的状态
int Arrivetime;//到达时间,默认为-1,表示没有到达
int Leavetime;//离开时间,默认为-1,表示没有离开
int License;//车牌号
}
CarNode;//保存每辆车的信息
typedef struct//栈的定义
{
CarNode *base;//栈底指针
CarNode *top;//栈顶指针
int Stacksize;//栈的最大容量
}
CarStack;
typedef struct QNode
{
char Condition;//到达或者离开的状态
int Arrivetime;//到达时间,默认为-1,表示没有到达
int Leavetime;//离开时间,默认为-1,表示没有离开
int License;//车牌号
QNode *next;
}
QNode;
typedef struct//队列的定义
C++数据结构停车场管理
{
QNode *front;//对头指针
QNode * rear;//队尾指针
}
Queue;
bool InitStack(CarStack &S1)//初始化栈 S1
{
S1.base=(CarNode*)malloc(Max_Size*sizeof(CarNode));
if(!S1.base)
{
cout<<"栈 S1 内存分配失败"<<endl;
return false;
}
S1.top=S1.base;
S1.Stacksize=Max_Size;
return true;
}
bool InitQueue(Queue &Q)
{
Q.front=(QNode*)malloc(sizeof(QNode));
if(!Q.front)
{
cout<<"队列 Q 内存分配失败!"<<endl;
return false;
}
Q.rear=Q.front;
Q.front->next=NULL;
return true;
}
bool EnQueue(Queue &Q,QNode &e)//插入元素 e 为 Q 的新的队尾元素
剩余12页未读,继续阅读
资源评论
- m0_741999052023-11-07感谢大佬,让我及时解决了当下的问题,解燃眉之急,必须支持!
- m0_739463792023-06-24感谢大佬,让我及时解决了当下的问题,解燃眉之急,必须支持!
- 瓷瓷的可可2023-01-01感谢大佬分享的资源给了我灵感,果断支持!感谢分享~
- 2401_825203722024-01-16资源不错,很实用,内容全面,介绍详细,很好用,谢谢分享。
- 2301_763135182023-12-05感谢大佬,让我及时解决了当下的问题,解燃眉之急,必须支持!
是空空呀
- 粉丝: 171
- 资源: 3万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功