Lista Encadeada em Python
Publicado por Fagner Amaral de Souza Candido 15/01/2009
[ Hits: 21.992 ]
Homepage: https://github.com/fagnercandido
Olá a todos,
Recentemente li aqui no VOL, um artigo sobre listas. Isso me motivou a desenvolver algoritmos não somente de listas, mas também de pilhas, filas e etc...
A implementação que fiz aqui de lista é bem simples: cria-se um nó raiz, e por conseguinte vai acrescentado.
vale lembrar que, o Python já implementa nativamente o tipo lista, e ordenado, que por sua vez é bem superior ao mostrado. A intenção é mostrar uma maneira diferente de implementação.
Abraços
#!/usr/bin/python # -*- coding: utf-8 -*- # Sintese # Objetivo : Implementar uma lista encadeada simples # Entrada : Um valor qualquer # Saida: ... # Autor: Fagner Candido - f_Candido # Contato: fagner7777777@gmail.com class ListaEncadeada: # Declaracao dos atributos desta Classe valorOrbital = None proximo = None # Fim declaracao # Nesta secao encontram-se os metodos para acesso # dos respectivos atributos def getValorOrbital(self): return(self.valorOrbital) def getProximo(self): return(self.proximo) def setValorOrbital(self, valorOrbital): self.valorOrbital = valorOrbital def setProximo(self, proximo): self.proximo = proximo # Fim declaracao Metodos Get e Set # Metodo para Insercao def insereInicio(self, raiz, valorOrbital): temporario = ListaEncadeada() # o atributo proximo aponta para o atributo # proximo da raiz temporario.setProximo(raiz.getProximo()) temporario.setValorOrbital(valorOrbital) # o atributo proximo da raiz, aponta para temporario raiz.setProximo(temporario) # Fim insercao # Metodo para percorrer lista def percorreListaEncadeada(self, raiz): temporario = ListaEncadeada() temporario = raiz.getProximo() while(temporario != None): print temporario.getValorOrbital() # incremento do temporario temporario = temporario.getProximo() # Fim percorrimento # Metodo para remocao def removeInicio(self, raiz): temporario = ListaEncadeada() temporario = raiz.getProximo() print temporario.getValorOrbital() raiz.setProximo(temporario.getProximo()) temporario = None # Fim remocao
Programa para calcular a média e a nota trimestral
Controle de Depósito com SQLite + Python
Script para obter um wallpaper de como está o globo em tempo real
Nenhum comentário foi encontrado.
LazyDocker – Interface de Usuário em Tempo Real para o Docker
Instalando COSMIC no Linux Mint
Turbinando o Linux Mint: o poder das Nemo Actions
Inteligência Artificial no desenvolvimento de software: quando começar a usar?
[Resolvido] Algo deu errado ao abrir seu perfil
Usando o VNSTAT para medir o seu consumo de internet
Habilitando clipboard manager no ambiente COSMIC
Quando vocês pararam de testar distros? (6)
A fórmula da coca-cola foi decompilada e agora é opensource! (4)









