第一章 队列与堆栈
1.1 队列特点
先进先出
例如:上电梯--->队列
上电梯(入队):第三个人,第二个人,第一个人
下电梯(出队):第一个人,第二个人,第三个人
1.2 堆栈特点
先进后出
例如:箱子装衣服
放衣服(入栈):第三件,第二件,第一件
出衣服(出栈):第三件,第二件,第一件。
1.3 使用列表实现队列与堆栈
1.3.1 队列实现
方法一:
入列:
l = []
l.insert(0,1) #列表为[1]
l.insert(0,2) #列表为[2,1]
l.insert(0,3) #列表为[3,2,1]
出列:
l.pop() #第一次pop时,列表为[3,2] 显示打印 1
l.pop() #第二次pop时,列表为[3] ,显示打印2
l.pop() #第三次pop时,列表为[] ,显示打印3
方法二:
入列:
l = []
l.append(1) #列表为[1]
l.append(2) #列表为[1,2]
l.append(3) #列表为[1,2,3]
出列:
l.pop(0) #第一次pop时,列表为[2,3] 显示打印 1
l.pop(0) #第二次pop时,列表为[3] ,显示打印2
l.pop(0) #第三次pop时,列表为[] ,显示打印3
1.3.2 堆栈实现
方法一:
入栈:
l = []
l.insert(0,1) #列表为[1]
l.insert(0,2) #列表为[2,1]
l.insert(0,3) #列表为[3,2,1]
出栈:
l.pop(0) #第一次pop时,列表为[2,1] 显示打印 3
l.pop(0) #第二次pop时,列表为[1] ,显示打印2
l.pop(0) #第三次pop时,列表为[] ,显示打印1
方法二:
入栈:
l = []
l.append(1) #列表为[1]
l.append(2) #列表为[1,2]
l.append(3) #列表为[1,2,3]
出栈:
l.pop(0) #第一次pop时,列表为[1,2] 显示打印 3
l.pop(0) #第二次pop时,列表为[1] ,显示打印2
l.pop(0) #第三次pop时,列表为[] ,显示打印1