数据结构停车场管理系统设计

数据结构与算法分析课程设计之数据结构停车场管理系统设计。主要应用到数据结构中的栈与队列。运用到的编程语言为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