Lista Encadeada em Python
Publicado por Fagner Amaral de Souza Candido 15/01/2009
[ Hits: 21.636 ]
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
Inteligência artificial com Python e Shell Script
Controle de Depósito com SQLite + Python
Consumo de memória por processo
Nenhum comentário foi encontrado.
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Criando uma VPC na AWS via CLI
Tem como instalar o gerenciador AMD Adrenalin no Ubuntu 24.04? (15)
Tenho dois Link's ( IP VÁLIDOS ), estou tentando fazer o failover... (0)
Pendrive não formata de jeito nenhum (4)