MAPA - ESOFT - ESTRUTURAS DE DADOS - 52_2025
Precisando de assessoria nos seus TRABALHOS entre em contato com a 2M ASSESSORIA
Canal do Instagram: https://www.instagram.com/equipe2massessoria
CONTATO: WHATS::: (15) 98115-0680
Uma rede de lojas de produtos naturais utiliza um sistema automatizado para planejar as rotas de entrega dos caminhões. Cada parada da rota representa uma loja que deve ser visitada. No sistema antigo, sempre que uma nova loja era adicionada no meio da rota, era necessário realocar todos os elementos da estrutura, resultando em lentidão e consumo excessivo de memória. Para resolver esse problema, decidiu-se utilizar uma estrutura de dados dinâmica, onde cada ponto da rota (loja) pudesse ser facilmente inserido ou removido sem a necessidade de deslocar os outros elementos da lista. Você foi contratado para ajudar a equipe de desenvolvimento a implementar essa nova estrutura. Abaixo está o código inicial de uma lista ligada com algumas funções incompletas. Seu desafio é completar o método inserir_na_posicao para que ele insira uma nova loja (representada por seu nome) em uma posição específica da rota.
class Loja:
def __init__(self, nome):
self.nome = nome
self.proximo = None
class RotaEntrega:
def __init__(self):
self.inicio = None
def inserir_inicio(self, nome_loja):
nova_loja = Loja(nome_loja)
nova_loja.proximo = self.inicio
self.inicio = nova_loja
def inserir_na_posicao(self, nome_loja, posicao):
# COMPLETE AQUI: implementar a lógica de inserção na posição
pass
def imprimir_rota(self):
atual = self.inicio
while atual:
print(f" {atual.nome}")
atual = atual.proximo
# TESTE DO CÓDIGO
rota = RotaEntrega()
rota.inserir_inicio("Loja D")
rota.inserir_inicio("Loja B")
rota.inserir_inicio("Loja A")
# Inserir a "Loja C" entre "Loja B" e "Loja D" (posição 2)
rota.inserir_na_posicao("Loja C", 2)
print(" Rota final:")
rota.imprimir_rota()
# Saída esperada:
# Loja A
# Loja B
# Loja C
# Loja D
Precisando de assessoria nos seus TRABALHOS entre em contato com a 2M ASSESSORIA
E-mail: assessoria.academica2m@gmail.com
Facebook: fb.me/ajudaemTrabalhosdeprogramacao
Whats: (15) 98115-0680
Canal do Instagram: https://www.instagram.com/equipe2massessoria
0 comentários:
Postar um comentário