色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

java棧和隊列實現停車場管理

劉柏宏1年前9瀏覽0評論

Java棧和隊列是兩種非常常見的數據結構,可以用來實現停車場的管理。在停車場中,來車需要停入車位,而離開時需要根據先進先出的原則進行處理。Java棧和隊列正好符合這種處理規則。

首先,棧可以用來存儲車輛信息。當有新車進入停車場時,將其入棧,相當于將車輛信息存儲在棧中。而當有車輛需要離開時,它將從棧頂彈出,也就是先進后出的原則,符合離開順序。

public class ParkingLot {
private StackcarStack;
public ParkingLot() {
carStack = new Stack();
}
public void enter(String carNo) {
carStack.push(carNo);
}
public String leave() {
if (carStack.empty())
return null;
return carStack.pop();
}
}

而隊列則可以用來存儲可用車位情況。當有車輛進入停車場時,需要檢查是否有可用車位。如果有,則將其出隊,對應車位便被占用。而當有車輛離開時,該車位需要重新加入隊列尾部,表示該車位已經空出。

public class ParkingLot {
private QueueavailableLots;
public ParkingLot(int capacity) {
availableLots = new LinkedList();
for (int i = 1; i<= capacity; i++)
availableLots.add(i);
}
public int enter() {
if (availableLots.isEmpty())
return -1;
return availableLots.poll();
}
public void leave(int lotNo) {
availableLots.add(lotNo);
}
}

Java的棧和隊列可以很好地完成停車場管理的任務,能夠實現車輛的進出、車位的占用和釋放等操作。同時,Java棧和隊列還有其他的應用場景,在編程中的重要性十分突出。