当前位置:数码通 > 科技

Java栈和队列实现停车系统

来源于 数码通 2023-10-02 15:11

Java是一种流行的编程语言,提供了很多数据结构,其中栈和队列是两种常用的数据结构。这两个数据结构就可以实现停车系统,下面我们来看看。

堆栈实现停车系统

堆栈是后进先出(LIFO)数据结构。我们可以利用堆栈来实现停车系统。假设停车场只能停3辆车,那么我们可以用长度为3的数组来模拟一个栈。数组的最后一个元素是栈顶,第一个元素是栈底。

公共课停车场{
私有静态最终 int MAX_SIZE = 3;
私有字符串[]汽车=新字符串[MAX_SIZE];
私有 int 顶部 = -1;
公共空白公园(串车){
如果(顶部== MAX_SIZE - 1){
System.out.println("停车场已满");
返回;
}
顶部++;
汽车[顶部]=汽车;
System.out.println("车辆" + 汽车 + "停在车位上" + (top + 1));
}
公共无效离开(字符串汽车){
如果(顶部==-1){
System.out.println("停车场没有车辆");
返回;
}
for (int i = 顶部; i >= 0; i--) {
if (cars[i].equals(car)) {
System.out.println("车辆" + car + "已离开车位" + (i + 1));
汽车[i] = null;
顶部 = i - 1;
返回;
}
}
System.out.println("停车场没有车辆" + car);
}
}

这里我们定义了一个类,其中包含两个方法:停车和离开。 Park方法用于车辆停入停车场,Leave方法用于车辆离开停车场。

实现停车系统的队列

队列是先进先出(FIFO)数据结构。我们还可以使用队列来实现停车系统。

公共课停车场{
私有静态最终 int MAX_SIZE = 3;
私有字符串[]汽车=新字符串[MAX_SIZE];
私有 int 头;
私有 int 尾部;
私有 int 大小;
公共空白公园(串车){
如果(大小== MAX_SIZE){
System.out.println("停车场已满");
返回;
}
汽车[尾]=汽车;
尾部 = (尾部 + 1) % MAX_SIZE;
尺寸++;
System.out.println("车辆" + 汽车 + "停在车位上" + size);
}
公共无效离开(字符串汽车){
如果(大小== 0){
System.out.println("停车场没有车辆");
返回;
}
for (int i = head; i< head + size; i++) {
int 索引 = i % MAX_SIZE;
if (cars[index].equals(car)) {
System.out.println("车辆" + car + "已离开车位" + (index + 1));
汽车[索引] = null;
尺寸 - ;
头 = (头 + 1) % MAX_SIZE;
返回;
}
}
System.out.println("停车场没有车辆" + car);
}
}

我们定义了一个类,它和栈的实现类似,只不过我们使用的是循环队列。当队列末尾到达数组的最后一个元素时,下一个插入的元素应该是数组的第一个元素。

登录后参与评论