数据结构停车场管理系统设计
•
算法结构
数据结构与算法分析课程设计之数据结构停车场管理系统设计。主要应用到数据结构中的栈与队列。运用到的编程语言为C++。
目录
一 设计要求
二 思路分析
三 设计流程
先附上完整代码:
#include
#include
#include
using namespace std;
int position = 0;//便道内位置
typedef struct CarData
{
char ch;//车辆的识别符,到达or离去
int cartime[100];//车辆停车时间
int carnumber[100];//车辆车牌号
int top;
int n;//容量
}cardata;
//队列
typedef struct qNode {
int carnumber;
int cartime;
struct qNode* next;
}qNode, * queue;
typedef struct {
queue front;
queue rear;
}Queue;
//栈*********
//初始化栈
void initStack(cardata &S, int n)
{
S.top = -1;
S.n = n;
}
//判断栈是否为空
int stackempty(cardata &S)
{
if (S.top == -1)
return false;
else return true;
}
//判断栈是否为满
int stackfull(cardata &S)
{
if (S.top == S.n - 1) {
return true;
}
else {
return false;
}
}
//入栈
void push(cardata &S, int carnumber, int cartime)
{
S.top++;
S.carnumber[S.top] = carnumber;
S.cartime[S.top] = cartime;
}
//出栈
void pop(cardata& S, int &carnumber, int &cartime)
{
carnumber = S.carnumber[S.top];
cartime = S.cartime[S.top];
S.top--;
}
//判断栈内是否有该车
int ifthecar(cardata& S, int carnumber)
{
for (int i = 0; i <= S.top; i++)
{
if (S.carnumber[i] == carnumber)
{
return 1;
}
else
{
cout << "停车场无车牌号为 " << carnumber << " 的车!" <next = NULL;
}
//判断队列是否为空
bool emptyQueue(Queue& Q) {
if (Q.front == Q.rear) {
return false;
}
else {
return true;
}
}
//入队列
void inQueue(Queue& Q, int carnumber, int cartime)
{
queue p;
p = (queue)malloc(sizeof(qNode));//分配一个辅助结点空间
p->carnumber = carnumber;
p->cartime = cartime;
p->next = NULL;
本文来自网络,不代表协通编程立场,如若转载,请注明出处:https://net2asp.com/347dc85702.html
