description
refresh最近發了一筆橫財,開了一家停車場。由於土地有限,停車場內停車數量有限,但是要求進停車場的車輛過多。當停車場滿時,要進入的車輛會進入便道等待,最先進入便道的車輛會優先
進入停車場,而且停車場的結構要求只出去的車輛必須是停車場中最後進去的車輛。現告訴你停車場容量n以及命令數m,以及一些命令(add num 表示車牌號為num的車輛要進入停車場或便道,
del 表示停車場**去了一輛車,out 表示便道最前面的車輛不再等待,放棄進入停車場)。假設便道內的車輛不超過1000000.
input
輸入為多組資料,每組資料首先輸入n和m(0< n,m <200000),接下來輸入m條命令。
output
輸入結束後,如果出現停車場內無車輛而出現del或者便道內無車輛而出現out,則輸出error,否則輸出停車場內的車輛,最後進入的最先輸出,無車輛不輸出。
sample
input
2 6add 18353364208
add 18353365550
add 18353365558
add 18353365559
delout
output
18353365558
18353364208
#include
using
namespace std;
#define intsize 10000
#define addsize 10000
typedef
long
long
int selemtype;
typedef
long
long
int qelemtype;
typedef
struct
sqstack;
typedef
struct queue
queue,
*queueptr;
typedef
struct
linkqueue;
intinitstack
(sqstack &s,
int n)
//建立空棧
intpush
(sqstack &s, selemtype e)
*s.top++
= e;
return1;
}int
pop(sqstack &s, selemtype &e)
intisempty
(sqstack s)
//這裡注意一下不能寫成sqstack &s
intinitqueue
(linkqueue &q)
intenqueue
(linkqueue &q, qelemtype e)
intdequeue
(linkqueue &q, qelemtype &e)
intqempty
(linkqueue q)
intmain()
else
}elseif(
strcmp
(c,"del")==
0)else}}
elseif(
strcmp
(c,"out")==
0)qelemtype temp;
dequeue
(q, temp);}
}if(flag)
printf
("error\n");
else}}
}
資料結構實驗之棧與佇列十一 refresh的停車場
refresh最近發了一筆橫財,開了一家停車場。由於土地有限,停車場內停車數量有限,但是要求進停車場的車輛過多。當停車場滿時,要進入的車輛會進入便道等待,最先進入便道的車輛會優先 進入停車場,而且停車場的結構要求只出去的車輛必須是停車場中最後進去的車輛。現告訴你停車場容量n以及命令數m,以及一些命令...
資料結構之棧與佇列
寫在前面 棧與佇列是兩種不同特點的資料結構。棧遵循著先進後出的特點,它就像乙個器皿,先放進去的後被取出來,後放進去也就是靠近瓶口的先出來。佇列,就像它的名字一般,它的結構類似於排隊,先進先出,後進後出。棧的實現package stack public class mystack public mys...
資料結構之棧與佇列
順序棧儲存結構 define stack size 50 typedef structstack 順序棧初始化 void initstack stack s 順序進棧 int push stack s,type x 順序棧出棧 int pop stack s,type x 鏈棧儲存結構 typede...