Lista Encadeada em Python

Publicado por Fagner Amaral de Souza Candido 15/01/2009

[ Hits: 21.618 ]

Homepage: https://github.com/fagnercandido

Download listaEncadeada.py




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

  



Esconder código-fonte

#!/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

Scripts recomendados

votacao.py 2

Calculando IMC Python

Resolução de problemas por meio de buscas - Labirinto (Inteligência Artificial)

Criando um jogo de Jokenpo

Como rodar músicas mp3 pelo Python


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts