33/Python-DataStructure-and-Algorithms
/Linked_List/Stack/Stack.py
import math
class MinStack:
#初始化栈
def __init__(self):
self.stack = []
self.min = []
#压入元素
def push(self, x):
self.stack.append(x)
if len(self.min) == 0:
self.min.append(x)
else:
self.min.append(min(x, self.min[-1]))
#弹出元素
def pop(self):
if len(self.stack) == 0:
return None
self.stack.pop()
self.min.pop()
#获取最小值
def top(self):
if len(self.stack) == 0:
return None
return self.stack[-1]
#获取最小值
def getMin(self):
if len(self.min) == 0:
return None
return self.min[-1]
if __name__ == "__main__":
stack = MinStack()
stack.push(-2)
stack.push(0)
stack.push(-3)
stack.push(-1)
print(stack.getMin())
stack.pop()
print(stack.top())
print(stack.getMin())
/Stack/Linked_List/LinkedList.py
import math
class Stack:
def __init__(self):
self.stack = []
def push(self, x):
self.stack.append(x)
print(self.stack)
def pop(self):
if len(self.stack) == 0:
return None
return self.stack.pop()
def top(self):
if len(self.stack) == 0:
return None
return self.stack[-1]
def getMin(self):
if len(self.stack) == 0:
return None
return min(self.stack)
if __name__ == "__main__":
stack = Stack()
stack.push(-2)
stack.push(0)
stack.push(-3)
stack.push(-1)
print(stack.getMin())
stack.pop()
print(stack.top())
print(stack.getMin())
/Stack/Linked_List/Stack.py
import math
class Queue:
def __init__(self):
self.stack = []
def enqueue(self, x):
self.stack.append(x)
print(self.stack)
def dequeue(self):
if len(self.stack) == 0:
return None
self.stack.insert(0, self.stack.pop())
print(self.stack)
def front(self):
if len(self.stack) == 0:
return None
return self.stack[-1]
def isEmpty(self):
if len(self.stack) == 0:
return True
return False
if __name__ == "__main__":
queue = Queue()
queue.enqueue(1)
queue.enqueue(2)
queue.enqueue(3)
queue.enqueue(4)
queue.dequeue()
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())
print(queue.front())