#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=-1;
}int parkempty(park *p)
return p->top==-1;
}int parkfull(park *p)
return p->top==(size-1);
}int push(park *p,parkdata x,parkdata y)
int pop(park *p,parkdata *x,parkdata *y)
void dispark(park *p)
printf("\n");
}//候車列
typedef int queuedata;
typedef struct _queue
queue;
int initqueue(queue *q)
int queueempty(queue *q)
int queuefull(queue *q)
int enqueue(queue *q,queuedata x)
int dequeue(queue *q,queuedata *x)
int disqueue(queue *q)
printf("\n");
return true;
}int main()
else //停車場滿了
else //候車滿了
printf(" >>候車場已滿,不能停車\n");
}break;
case 2: //汽車離開
scanf("%d,%d",&carno,&cartime);
for(i=0;i<=p.top&&p.carno[i]!=carno;i++); //在棧中查詢要離開的車號
if(i>p.top)
printf(" >>無該編號的汽車\n");
else
pop(&p,&x,&y); //汽車離開
printf(" >>%d汽車停車費用:%d\n",carno,(cartime-y)*price);
while(!parkempty(&p1)) //讓車棧的車重回停車棧
if(!queueempty(&q)) //候車列不空,隊頭進棧
}break;
case 3: //顯示停車場情況
if(!parkempty(&p))
else
printf(" >>停車場沒有車\n");
break;
case 4: //顯示候車場情況
if(!queueempty(&q))
else
printf(" >>候車場沒有車\n");
break;
case 0: //結束
if(!parkempty(&p))
if(!queueempty(&q))
break;
default:
printf(" >>輸入的指令錯誤\n");
break;}}
while(choice!=0);
return 0;
不喜勿噴!!!
停車場(順序棧,順序佇列)
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...
SDUT refresh的停車場(棧和佇列)
refresh近期發了一筆橫財,開了一家停車場。因為土地有限,停車場內停車數量有限,可是要求進停車場的車輛過多。當停車場滿時,要進入的車輛會進入便道等待。最先進入便道的車輛會優先 進入停車場,並且停車場的結構要求僅僅出去的車輛必須是停車場中最後進去的車輛。現告訴你停車場容量n以及命令數m,以及一些命...
停車場管理(棧與佇列的應用)
自動停車場由乙個可停放n 輛車的狹長通道構成,且只有乙個入口可供汽車進出。在停車場內,汽車按到達的先後次序,由北向南依次排列 假設入口在最南端 若停車場內已停滿n 輛車,則後來的汽車需在入口外的臨時等候便道上等候,當有車要離開時,臨時等候便道上的第一輛車即可進入。當自動停車場內某輛車要離開時,必須先...