У меня есть следующий код для реализации Лифт:Реализация очереди приоритета в лифте
public class Elevator{
Direction dir;
int floorNum;
int capacity;
public void moveUp{
dir = Direction.Up;
}
public void moveDown{
dir = Direction.Down
}
public boolean isMoving{
returns dir.equals(Direction.STATIONARY);
}
}
public class ElevatorController{
Elevator[] elevators;
PriorityQueue<Integer> queue = new PriorityQueue<Integer>;
public void buttonPressed{Direction d, int fromFloot, int toFloor){
}
}
Я прочитал хороший способ реализации лифта будет реализовать очередь приоритета, чтобы получить лифт, но я не знаю, как.
В очереди будет находиться пункт назначения.
Как вы рекомендуете его реализовать?
Зависит от того, что вы хотите, чтобы вести себя как. Я думаю, что это должно зависеть от того, если и какой пункт назначения выбран изнутри лифта, не так ли? Пример: лифт находится на 5-м месте, клиент выбирает -1 (гараж), а клиент2 - на 3-м и нажимает «get». Должен ли он забрать клиента2? Есть ли getForMovingUp и getForMOvingDown или только нейтральный get? – Fildor
есть направление, указывающее, вверх или вниз направление в сигнатуре метода. да, это подберет их в пути – Dejell