" 进场的时刻:"; cin>>time_a; if(st.stacksize_curren<2) { zanInode e; e.number=number; e.ar_time=time_a; push(st,e); cout<< " 该车已进入停车场在: "<<st.stacksize_curren<<" 号车道"<<endl<<endl; } else { 10 enqueue(q,number,time_a); cout<<" 停车场已满,该车先停在便道的第"<<q.length<<" 个位置上"<<endl; }} void likai(stackhead &st,stackhead &sl,linkqueue &q) //对离开的汽车的处理; { //st 堆栈为停车场, sl堆栈为倒车场 int number,time_d,flag=1,money,arrivaltime; //q为便道队列 cout<<" 车牌为: "; cin>>number; cout<<" 出场的时刻: "; cin>>time_d; zanInode e,q_to_s; queueptr w; while(flag) //找到要开出的车,并弹出停车场栈{ pop(st,e); push(sl,e); if(e.number==number) { flag=0; money=(time_d-e.ar_time)*2; arrivaltime=e.ar_time; }} pop(sl,e); //把临时堆栈的第一辆车(要离开的)去掉; while(sl.stacksize_curren) //把倒车场的车倒回停车场{ pop(sl,e); push(st,e); } if(st.stacksize_curren<2&&q.length!=0) // 停车场有空位,便道上的车开进入停车场