线性表实现栈:
# 使用线性表来实现栈
class Stack(object):
# 初始化一个空栈
def __init__(self):
self.__list = []
# 判断栈是否为空
def is_empty(self):
return self.__list == []
# 压栈
def PushStack(self,item):
self.__list.append(item)
# 出栈
def PopStack(self):
return self.__list.pop()
# 栈底
def StackBottom(self):
if self.__list:
return self.__list[0]
else:
return None
# 栈的长度
def Length(self):
return len(self.__list)
st = Stack()
print(st.is_empty())
le = st.Length()
print(le)
st.PushStack(1)
st.PushStack(2)
st.PushStack(3)
le = st.Length()
print(le)
st.PopStack()
le = st.Length()
print(le)
bottom = st.StackBottom()
print(bottom)
线性表实现队列:
# 队列的线性表实现
class Queue(object):
# 初始化一个空队列
def __init__(self):
self.__list = []
# 判断是否为空
def is_empty(self):
return self.__list == []
# 在一端添加
def Add(self,item):
self.__list.append(item)
# 在一端取出
def Pop(self):
self.__list.pop(0)
# 计算队列长度
def Length(self):
return len(self.__list)
qu = Queue()
re = qu.is_empty()
print(re)
qu.Add(1)
qu.Add(2)
qu.Add(3)
qu.Add(4)
qu.Add(5)
Len = qu.Length()
print(Len)
qu.Pop()
Len = qu.Length()
print(Len)