Pilas y colas - doapps/software GitHub Wiki
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 * +
- Apilar(PUSH)
- Desapilar(POP)
- Está vacía
- Está llena
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
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
- Encolar(PUSH)
- Decolar(POP)
- Está vacía
- Está llena
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