Answer:
class Pizza {
String ingredients;
String address;
Pizza next;
Pizza(String ingredients, String address) {
this.address = address;
this.ingredients = ingredients;
next = null;
}
}
public class PizzaDelivery {
static Pizza enqueue(Pizza head, Pizza tail, Pizza thisPizza) {
if (head == null) {
head = thisPizza;
} else {
tail.next = thisPizza;
}
tail = thisPizza;
return tail;
}
static Pizza dequeue(Pizza head, Pizza[] tail) {
Pizza pizzaToDeliver = null;
if (head != null) {
pizzaToDeliver = head;
head = head.next;
}
if (head == null) {
tail[0] = null;
}
return pizzaToDeliver;
}
static void deliver(Pizza[] head, Pizza[] tail) {
Pizza thisPizza = dequeue(head[0], tail);
if (thisPizza == null) {
System.out.println("No deliveries pending");
return;
}
System.out.println("Deliver a pizza with " + thisPizza.ingredients
+ " to " + thisPizza.address);
}
public static void main(String[] args) {
Pizza first = null;
Pizza[] last = { null };
last[0] = enqueue(first, last[0], new Pizza("pepperoni", "1234 Bobcat Trail"));
last[0] = enqueue(first, last[0], new Pizza("sausage", "2345 University Drive"));
deliver(first, last);
last[0] = enqueue(first, last[0], new Pizza("extra cheese", "3456 Rickster Road"));
last[0] = enqueue(first, last[0], new Pizza("everything", "4567 King Court"));
last[0] = enqueue(first, last[0], new Pizza("coffee beans", "5678 Java Circle"));
deliver(first, last);
deliver(first, last);
deliver(first, last);
deliver(first, last);
deliver(first, last);
}
}
Step-by-step explanation: