52 lines
1.2 KiB
C
52 lines
1.2 KiB
C
|
#ifndef __STATION_H__
|
||
|
#define __STATION_H__
|
||
|
|
||
|
#include "StationInterfaceExtra.h"
|
||
|
#include "queue.h"
|
||
|
#include "deque.h"
|
||
|
#include "stack.h"
|
||
|
#include "irdeque.h"
|
||
|
#include "ordeque.h"
|
||
|
|
||
|
class station : public StationInterfaceExtra {
|
||
|
public:
|
||
|
station(): current_car(-1) {};
|
||
|
bool addToStation(int car);
|
||
|
int showCurrentCar();
|
||
|
bool removeFromStation();
|
||
|
bool addToStack();
|
||
|
bool removeFromStack();
|
||
|
int showTopOfStack();
|
||
|
int showSizeOfStack();
|
||
|
bool addToQueue();
|
||
|
bool removeFromQueue();
|
||
|
int showTopOfQueue();
|
||
|
int showSizeOfQueue();
|
||
|
bool addToDequeLeft();
|
||
|
bool addToDequeRight();
|
||
|
bool removeFromDequeLeft();
|
||
|
bool removeFromDequeRight();
|
||
|
int showTopOfDequeLeft();
|
||
|
int showTopOfDequeRight();
|
||
|
int showSizeOfDeque();
|
||
|
bool addToIRDequeLeft();
|
||
|
bool removeFromIRDequeLeft();
|
||
|
bool removeFromIRDequeRight();
|
||
|
int showTopOfIRDequeLeft();
|
||
|
int showTopOfIRDequeRight();
|
||
|
int showSizeOfIRDeque();
|
||
|
bool addToORDequeLeft();
|
||
|
bool addToORDequeRight();
|
||
|
bool removeFromORDequeLeft();
|
||
|
int showTopOfORDequeLeft();
|
||
|
int showSizeOfORDeque();
|
||
|
private:
|
||
|
int current_car;
|
||
|
queue q;
|
||
|
deque d;
|
||
|
stack s;
|
||
|
irdeque ir;
|
||
|
ordeque ord;
|
||
|
};
|
||
|
#endif
|