栈:只有一个口,可以形象的比喻为我们生活当中的很多东西,比如茶杯;遵循的原则是先进后出,后进先出
队列:队列有两个口,可以形象的比喻为生活当中的水管,遵循的原则是先进先出,后进后出
栈和队列都是相对抽象的概念,其具体实现可以借助于链表以及数组等具体载体来实现
链表是一种存储方式,它可以在非连续的内存空间里面存储一个集合的元素。和它对应的是数组,数组要在连续的空间里存储集合的元素
链表有单链表和双链表的概念区分:
1、双(向)链表中有两条方向不同的链,即每个结点中除next域存放后继结点地址外,还增加一个指向其直接前趋的指针域prior。
2、单链表只含有一个指向下一节点的指针,但是双链表含有一个指向下一节点的指针和一个指向上一节点的指针,访问下一节点时,两种链表的时间没有区别,但是在访问上一个节点时,双链表就不用从头访问了,所以它的效率高。