数组与链表是数据存储方式的概念,数组在连续的空间中存储数据,而链表可以在非连续的空间中存储数据;
队列和堆栈是描述数据存取方式的概念,队列是先进先出,而堆栈是后进先出;队列和堆栈可以用数组来实现,也可以用链表实现。
''' 栈的理解:先进后出,后进先出 栈也可以实现先进先出,前提是添加一个,删除一个 ''' mystack=[] mystack.append('1') print(mystack) mystack.append('2') print(mystack) mystack.append('3') print(mystack) mystack.append('4') print(mystack) mystack.pop() print(mystack) mystack.pop() print(mystack) mystack.pop() print(mystack) mystack.pop() print(mystack)
输出结果:
['1'] ['1', '2'] ['1', '2', '3'] ['1', '2', '3', '4'] ['1', '2', '3'] ['1', '2'] ['1'] []
队列的简单理解
import collections #数据结构的集合 a=[1,2,3,4,5] queue=collections.deque(a) print(queue) queue.append(6) print(queue) queue.append(7) print(queue) print(queue.popleft())#获取要弹出的左侧第一个数的值 print(queue) #打印出来的结果 deque([1, 2, 3, 4, 5]) deque([1, 2, 3, 4, 5, 6]) deque([1, 2, 3, 4, 5, 6, 7]) 1 deque([2, 3, 4, 5, 6, 7])