AW-16475227335G-H7TXQMFBGE

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

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *

Damos valor à sua privacidade

Nós e os nossos parceiros armazenamos ou acedemos a informações dos dispositivos, tais como cookies, e processamos dados pessoais, tais como identificadores exclusivos e informações padrão enviadas pelos dispositivos, para as finalidades descritas abaixo. Poderá clicar para consentir o processamento por nossa parte e pela parte dos nossos parceiros para tais finalidades. Em alternativa, poderá clicar para recusar o consentimento, ou aceder a informações mais pormenorizadas e alterar as suas preferências antes de dar consentimento. As suas preferências serão aplicadas apenas a este website.

Cookies estritamente necessários

Estes cookies são necessários para que o website funcione e não podem ser desligados nos nossos sistemas. Normalmente, eles só são configurados em resposta a ações levadas a cabo por si e que correspondem a uma solicitação de serviços, tais como definir as suas preferências de privacidade, iniciar sessão ou preencher formulários. Pode configurar o seu navegador para bloquear ou alertá-lo(a) sobre esses cookies, mas algumas partes do website não funcionarão. Estes cookies não armazenam qualquer informação pessoal identificável.

Cookies de desempenho

Estes cookies permitem-nos contar visitas e fontes de tráfego, para que possamos medir e melhorar o desempenho do nosso website. Eles ajudam-nos a saber quais são as páginas mais e menos populares e a ver como os visitantes se movimentam pelo website. Todas as informações recolhidas por estes cookies são agregadas e, por conseguinte, anónimas. Se não permitir estes cookies, não saberemos quando visitou o nosso site.

Cookies de funcionalidade

Estes cookies permitem que o site forneça uma funcionalidade e personalização melhoradas. Podem ser estabelecidos por nós ou por fornecedores externos cujos serviços adicionámos às nossas páginas. Se não permitir estes cookies algumas destas funcionalidades, ou mesmo todas, podem não atuar corretamente.

Cookies de publicidade

Estes cookies podem ser estabelecidos através do nosso site pelos nossos parceiros de publicidade. Podem ser usados por essas empresas para construir um perfil sobre os seus interesses e mostrar-lhe anúncios relevantes em outros websites. Eles não armazenam diretamente informações pessoais, mas são baseados na identificação exclusiva do seu navegador e dispositivo de internet. Se não permitir estes cookies, terá menos publicidade direcionada.

Visite as nossas páginas de Políticas de privacidade e Termos e condições.

Importante: Este site faz uso de cookies que podem conter informações sobre os visitantes.