Stacks: O motorista
Um motorista deve pegar um pedido e entregá-lo ao cliente. Um motorista pode retirar vários pedidos ao mesmo tempo. Para obter a máxima eficiência, o motorista deseja retirar o maior número de pedidos e fazer o máximo de entregas no caminho mais curto possível. Se um motorista está indo buscar um pedido em um restaurante, mas de repente um cliente faz um pedido em um restaurante que está muito próximo e no caminho, para aproveitar ao máximo sua viagem, o motorista deve ser capaz de retirar o pedido daquele restaurante. Em geral, um motorista deseja coletar e entregar pedidos com base na distância mais curta. Podemos implementar esse comportamento utilizando uma stack (pilha).