Você está aqui: Python ::: Estruturas de Dados ::: Lista Ligada Simples |
Como retornar a quantidade de nós de uma lista singularmente encadeada em PythonQuantidade de visualizações: 789 vezes |
Nesta dica nós vamos ver como obter a quantidade de nós presentes em uma lista encadeada simples na linguagem Python. Para isso vamos criar um método get_tamanho() que poderá ser chamado a qualquer momento e que varrerá a lista de forma a atualizar o contador de nós. Para facilitar o seu entendimento eu optei por repetir códigos já vistos em outras dicas. Assim, vamos começar então com o código para a classe No da lista singularmente ligada (que salvei em um arquivo no_lista_singularmente_ligada.py): # classe No para uma lista singularmente encadeada ou # ligada - Singly Linked List class No: # construtor da classe No def __init__(self, info, proximo): self.info = info self.proximo = proximo # método que permite definir o conteúdo do nó def set_info(self, info): self.info = info # método que permite obter a informação de um nó def get_info(self): ...... Restante do código disponível na Área de Apoiadores do site Ainda não é apoiador(a)? Chama no WhatsApp +55 (62) 98553-6711 (Osmar) Veja que o código para a classe Nó não possui muitas firulas. Temos apenas um campo info, que guardará o valor do nó, e um campo próximo, que aponta para o próximo nó da lista, ou null, se este for o único nó ou o último nó da lista ligada. Veja agora o código para a classe ListaLigadaSimples (lista_ligada_simples.py), com os métodos get_tamanho(), inserir_inicio() e exibir(): # importa a classe No from no_lista_singularmente_ligada import No # classe ListaLigadaSimples class ListaLigadaSimples: # construtor da classe def __init__(self): self.inicio = None # nó inicial da lista # método que permite retornar o tamanho da lista ligada, ou # seja, a quantidade de nós na lista encadeada simples def get_tamanho(self): # aponta para o início da lista no_atual = self.inicio # ajusta o contador em 0 contador = 0 # percorre todos os nós da lista ligada while no_atual != None: # incrementa o contador contador = contador + 1 # avança para o próximo nó da lista no_atual = no_atual.get_proximo() # retornamos a quantidade de nós return contador # método que permite inserir um novo nó no início da lista def inserir_inicio(self, info): ...... Restante do código disponível na Área de Apoiadores do site Ainda não é apoiador(a)? Chama no WhatsApp +55 (62) 98553-6711 (Osmar) E agora o código main() que insere alguns valores no início da nossa lista singularmente encadeada e testa o método get_tamanho(): # importa a classe ListaLigadaSimples from lista_singularmente_ligada import ListaLigadaSimples # método principal def main(): # cria uma nova lista encadeada simples lista = ListaLigadaSimples() # insere vários valores, sempre no início da lista print("Quantidade de nós na lista: " + str(lista.get_tamanho())) print("Inserir no início da lista") lista.inserir_inicio(30) print("Inserir no início da lista") lista.inserir_inicio(71) ...... Restante do código disponível na Área de Apoiadores do site Ainda não é apoiador(a)? Chama no WhatsApp +55 (62) 98553-6711 (Osmar) Ao executar este código Python nós teremos o seguinte resultado: c:\estudos_python>python estudos.py Quantidade de nós na lista: 0 Inserir no início da lista Inserir no início da lista Quantidade de nós na lista: 2 Inserir no início da lista Inserir no início da lista Quantidade de nós na lista: 4 Todos os nós da lista: 13 59 71 30 |
![]() |
Desafios, 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 |