数据结构课程设计-停车场管理

停车场管理系统

问题描述:

  • 若车辆到达,则显示汽车在停车场内或便道上的停车位置
  • 车辆离去,则显示骑车在停车场的收费(没做,请自己完成)

基本要求:

  • 用栈模拟停车场,用队列模拟便道

- 代码如下

#include <stdio.h>
#include <stdlib.h>
/**
 * 具体要求请看C语言数据结构课程设计 3.4.1:停车场管理系统
 * 思路:
 * 进:
 *  1. 车按照顺序先进去通道(入队列)
 *  2. 给出指定,让先进去通道的车进入停车场(先出队列后入栈)
 * 出:
 *  1. 最后一个进停车场的车(栈头)出栈,进入队列(入队列)
 *  2. 车出队列
 *  3. 至于停车时间,可以根据该车入栈和出栈的位置差来决定 / 或者搞一个时间函数记录(我选择前者)
 */

/**
 * 队列使用链表实现
 * 使用队列模拟通道
 * 也就是车在排队,其实就是车的链表,使用 id 记录车的信息
 */
typedef struct Cars{
   
    int id ;
    struct Cars *next;
}*Cars,Car;

/**
 * 栈使用顺序表实现
 * 使用栈模拟停车场
 */
typedef struct Parking{
   
    int carId[50];
    int top;
}*Parking;

//初始化停车场
Parking initParking(){
   
    Parking parking;
    parking = malloc(sizeof(Parking));
    if (parking == NULL){
   
        printf("停车场初始化失败!");
        return NULL;
    }
    parking->top = 0;
    return parking;
}

//初始化车链表的表头
Cars initCar(){
   
    Cars cars ;
    cars = malloc(sizeof(Cars));
    if (cars == NULL){
   
        printf("通道初始化失败!");
        return NULL;
    }
    cars->id = 0;
    cars->next = NULL;
    return cars;
}

//车进入通道,也就是形成链表
  • 5
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值