Pilas y colas - doapps/software GitHub Wiki

¿Qué es una pila o Stack?

Son estructura de datos lineales que funcionan bajo la filosofía LIFO(Last In - First Out)

Usos de las pilas:

  • Gestionar los fragments en Android
  • Gestionar el llamado a funciones
  • Evaluar expresiones algebraicas en notación postfija

Notación postfija: 1 5 2 * +

Operaciones

  • Apilar(PUSH)
  • Desapilar(POP)
  • Está vacía
  • Está llena

Implementación de la clase Pila en Python

class Pila(object):
    def __init__(self):
        self.items = []

    def apilar(self, element):
        self.items.append(element)

    def desapilar(self):
        self.items.pop()

    def isEmpty(self):
        if len(self.items) > 0:
            return True
        else:
            return False

    def getLast(self):
        size = len(self.items)
        if (size > 0):
            return self.items[size - 1]
        else:
            return None

¿Qué es una cola o Queue?

Son estructura de datos lineales que funcionan bajo la filosofía FIFO(First In - First Out)

Usos de las colas:

  • Gestionar la cola de atención en un banco
  • Gestionar la venta de tickets masivos

Operaciones

  • Encolar(PUSH)
  • Decolar(POP)
  • Está vacía
  • Está llena

Implementación de la clase Pila en Python

class Cola(object):
    def __init__(self):
        self.items = []

    def encolar(self, element):
        self.items.append(element)

    def decolar(self):
        self.items.pop(0)

    def getLast(self):
        size = len(self.items)
        if (size > 0):
            return self.items[size - 1]
        else:
            return None

    def getFirst(self):
        size = len(self.items)
        if (size > 0):
            return self.items[0]
        else:
            return None
⚠️ **GitHub.com Fallback** ⚠️