Código de Python - Clase para una pila FIFO en Python

Imágen de perfil
Val: 1.644
Plata
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Clase para una pila FIFO en Pythongráfica de visualizaciones


Python

Publicado el 15 de Febrero del 2021 por Katas (144 códigos)
507 visualizaciones desde el 15 de Febrero del 2021
(First In, First Out) Primer elemento en entrar, primer elemento en salir

Una pila (stack en inglés) es una lista ordenada o estructura de datos que permite almacenar y recuperar datos, siendo un modo de acceso a sus elementos el tipo FIFO.

Para el manejo de los datos cuenta con dos operaciones básicas: apilar (push), que coloca un objeto en la pila, y su operación inversa, desapilar (pop), que retira el primer elemento apilado.

pila-fifo



Código para la pila LIFO: https://www.lawebdelprogramador.com/codigo/Python/6886-Clase-para-una-pila-LIFO-en-Python.html

1

Actualizado el 20 de Febrero del 2021 (Publicado el 15 de Febrero del 2021)gráfica de visualizaciones de la versión: 1
508 visualizaciones desde el 15 de Febrero del 2021
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
miFifo=fifo()
miFifo.apilar("tren")
miFifo.apilar("avion").apilar("moto")
miFifo.apilar(["bicicleta", "coche"])
print(miFifo.obtenerPila()) # ['tren', 'avion', 'moto', 'bicicleta', 'coche']
 
desapilar=miFifo.desapilar()
print(desapilar) # 'tren'
print(miFifo.obtenerPila()) # ['avion', 'moto', 'bicicleta', 'coche']
 
tamano=miFifo.tamano()
print(tamano) # 4
 
miFifo.apilar("barco")
print(miFifo.obtenerPila()) # ['avion', 'moto', 'bicicleta', 'coche', 'barco']
 
desapilar=miFifo.desapilar() # 'avion'
desapilar=miFifo.desapilar() # 'moto'
desapilar=miFifo.desapilar() # 'bicicleta'
print(miFifo.obtenerPila()) # ['coche', 'barco']
 
tamano=miFifo.tamano()
print(tamano) # 2
 
miFifo.vaciar()
tamano=miFifo.tamano()
print(tamano) # 0
print(miFifo.obtenerPila()) # []
 
print(miFifo.desapilar()) # False


.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
from collections import deque
 
class fifo:
    def __init__(self):
        self.lista=deque([])
 
    def apilar(self, elemento):
        """
        Metodo para añadir elementos a la pila
        Puede recibir un valor o una lista de valores
        @param string|list elemento
        @return self
        """
        if type(elemento)==list:
            self.lista.extend(elemento)
        else:
            self.lista.append(elemento)
        return self
 
    def desapilar(self):
        """
        Metodo para quitar el primer elemento de la lista
        Si no hay elementos en la lista devuelve False
        @return string|False
        """
        try:
            return self.lista.popleft()
        except AttributeError:
            return False
 
    def vaciar(self):
        """
        Metodo para vaciar la lista
        @return self
        """
        self.lista=[]
        return self
 
    def tamano(self):
        """
        Metodo para obtener el tamaño de la pila
        @return integer
        """
        return len(self.lista)
 
    def obtenerPila(self):
        """
        Metodo que devuelve la pila
        @return list
        """
        return list(self.lista)



Comentarios sobre la versión: 1 (0)


No hay comentarios
 

Comentar la versión: 1

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s6885