自動停車場由乙個可停放n 輛車的狹長通道構成,且只有乙個入口可供汽車進出。在停車場內,汽車按到達的先後次序,由北向南依次排列(假設入口在最南端)。若停車場內已停滿n 輛車,則後來的汽車需在入口外的臨時等候便道上等候,當有車要離開時,臨時等候便道上的第一輛車即可進入。當自動停車場內某輛車要離開時,必須先將在它之後
進入的車輛移出為其讓路,待該輛車離開後,其他車輛再按原次序移入自動停車場。每輛車離開自動停車場時,應按其停留時間的長短交費(在臨時等候便道上停留的時間不收費)。
#ifndef head_h_included
#define head_h_included
#include #include #include #include #include using namespace std;
#define maxstacksize 4
#define maxqueuesize 5
struct elem
;struct stack
;struct qnode
;struct queue
;void initstack(stack &s);
elem gettop(stack s);
void push(stack &s, elem e);
elem pop(stack &s);
void initqueue(queue &q);
void enqueue(queue &q, elem e);
elem dequeue(queue &q);
int calculate_expense(elem a, elem b);
void solve(stack s, stack s2, queue q);
#endif // head_h_included
#include "head.h"
int main()
#include "head.h"
void solve(stack s, stack s2, queue q)
else
else
printf("對不起,臨時停車場已滿\n");}}
else if(op == 'l') //車輛離開
else
}while(s2.stacksize != 0)
if(q.queuesize > 0)
}getchar();
}return;
}
//stack_operation.cpp
#include "head.h"
void initstack(stack &s)
elem gettop(stack s)
void push(stack &s, elem e)
elem pop(stack &s)
//queue_operation.cpp
#include "head.h"
void initqueue(queue &q)
void enqueue(queue &q, elem e)
elem dequeue(queue &q)
//calculate_expense.cpp
#include "head.h"
int calculate_expense(elem a, elem b)
測試資料:
input:
a 001 07:00
a 002 07:30
a 003 07:40
a 004 08:00
a 005 09:05
a 006 10:00
a 007 11:25
a 008 12:20
a 009 12:23
a 010 14:00
l 001 15:00
l 002 15:30
l 006 16:00
a 011 16:30
output:
輸入需要進行的操作(l:離開,a:到達),您的車牌號及時間(時:分):
您的汽車 001 停於自動停車場第 1 號位置
您的汽車 002 停於自動停車場第 2 號位置
您的汽車 003 停於自動停車場第 3 號位置
您的汽車 004 停於自動停車場第 4 號位置
您的汽車 005 停於臨時停車場第 1 號位置
您的汽車 006 停於臨時停車場第 2 號位置
您的汽車 007 停於臨時停車場第 3 號位置
您的汽車 008 停於臨時停車場第 4 號位置
您的汽車 009 停於臨時停車場第 5 號位置
對不起,臨時停車場已滿
001 應收取的費用為: 480
002 應收取的費用為: 480
006 應收取的費用為: 30
您的汽車 011 停於臨時停車場第 3 號位置
停車場管理(棧和佇列的應用)
設停車場是乙個可以停放n輛汽車的狹長通道,且只有乙個大門可供汽車進出。汽車在停車場內按車輛到達時間的先後順序,依次有北向南排列 大門在最南端,最先到達的第一車停放在車場的最北端 若車場內已停滿n輛車,那麼後來的車只能在門外的便道上等候,一旦有車開走,則排在便道上的第一輛車即可開入 當停車場內某輛車要...
停車場管理
include include include define n 5 typedef struct s 隊節點 ss typedef struct 指標節點 queue typedef struct 棧節點 stack stack init1 stack s void push stack s,ch...
停車場(順序棧,順序佇列)
include include define true 1 define false 0 define size 10 define price 2 停車場 typedef int parkdata typedef struct park park int initpark park p p top...