Lista Encadeada em Python
Publicado por Fagner Amaral de Souza Candido 15/01/2009
[ Hits: 21.752 ]
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
Painel com botões desligar, reiniciar, logoff e bloquear tela
Nenhum comentário foi encontrado.
Resolver problemas de Internet
Como compartilhar a tela do Ubuntu com uma Smart TV (LG, Samsung, etc.)
Descritores de Arquivos e Swappiness
Solução rápida para o problema do Network Manager conectar mas não navegar
Como instalar no Linux Jogos da Steam só para Windows
Instalando o Team Viewer no Debian Trixie - problema no Policykit
Interface Gráfica no Linux Mint 22.1. (3)
Menu configurações e mudar plano de fundo não funcionam (5)