Lista Encadeada em Python

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

[ Hits: 21.613 ]

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

Implementação simples de um programa antivírus em Python 3.10 para Linux

Exemplo de cluster

Problema das Oito Rainhas (Random)

PYCalculator 1.0 - Calculadora no Python

Lojinha.py


  

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