資料結構實驗之棧與佇列十一 refresh的停車場

2021-10-24 18:26:05 字數 1791 閱讀 2290

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...