Você está aqui: Python ::: Desafios e Lista de Exercícios Resolvidos ::: Lista Ligada Simples |
Escreva um programa Python para criar uma lista singularmente ligada, inserir novos nós no final da lista e exibí-los - Exercícios Resolvidos de PythonQuantidade de visualizações: 1246 vezes |
|
Pergunta/Tarefa: Escreva um programa Python para criar uma lista singularmente ligada contendo um método inserir_final() que, quando invocado, criará um novo nó e o armazenará no final da lista encadeada simples. Em seguida exiba todos os nós da lista usando um método exibir_lista(). Sua saída deverá ser parecida com: Os itens da lista são: Goiânia Rio de Janeiro Cuiabá São Paulo O início da lista é: Goiânia O final da lista é: São Paulo Veja a resolução comentada deste exercício em Python: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
# esta classe representa um nó da lista ligada
class No:
# construtor da classe nó
def __init__(self, valor=None):
self.valor = valor
self.proximo = None
# fim da classe No
# classe ListaLigadaSimples
class ListaLigadaSimples:
# construtor da classe
def __init__(self):
# cria uma lista vazia
self.inicio = None # aponta para o início da lista
self.final = None # aponta para o final da lista
self.quant_nos = 0 # mantém a contagem dos nós da lista
# insere no final da lista
def inserir_final(self, valor):
# adiciona um novo nó no final da lista
no = No(valor)
# a lista já contém nós?
if self.final:
# o próximo do final da lista aponta para o novo nó
self.final.proximo = no
# agora o final da lista aponta para o novo nó
self.final = no
# a lista ainda está vazia
else:
# inicio aponta para o novo nó
self.inicio = no
# final aponta para o novo nó
self.final = no
# aumenta o contador de nós
self.quant_nos += 1
def exibir_lista(self):
# percorre os itens da lista e imprime cada um
item_atual = self.inicio
# enquant o item atual for diferente de nulo
while item_atual:
valor = item_atual.valor
print(valor)
# avança para o próximo item
item_atual = item_atual.proximo
# fim da classe ListaLigadaSimples
# método principal
def main():
# vamos criar uma nova lista
lista_cidades = ListaLigadaSimples()
# vamos adicionar quatro cidades
lista_cidades.inserir_final("Goiânia")
lista_cidades.inserir_final("Rio de Janeiro")
lista_cidades.inserir_final("Cuiabá")
lista_cidades.inserir_final("São Paulo")
# vamos mostrar os itens da lista ligada
print("Os itens da lista são:\n")
lista_cidades.exibir_lista()
# vamos mostrar os nós no início e fim da lista
print("\nO início da lista é: {}".format(lista_cidades.inicio.valor))
print("O final da lista é: {}".format(lista_cidades.final.valor))
if __name__== "__main__":
main()
|
|
|
Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de Python |
Veja mais Dicas e truques de Python |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |






