#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...
停車場停車
這是乙個簡單的停車場作業,目前為止只能實現停車,剩下的 有問題,還在解決中,就先不拿出來了 include parking.h include void menu 建立停車場佇列與等候佇列 int initqueue parkqueue p p front 0 p rear 0 return tru...
SDUT refresh的停車場(棧和佇列)
refresh近期發了一筆橫財,開了一家停車場。因為土地有限,停車場內停車數量有限,可是要求進停車場的車輛過多。當停車場滿時,要進入的車輛會進入便道等待。最先進入便道的車輛會優先 進入停車場,並且停車場的結構要求僅僅出去的車輛必須是停車場中最後進去的車輛。現告訴你停車場容量n以及命令數m,以及一些命...