一、栈:先进后出(FILO,first in last out)
二、队列:先进先出(FIFO,first in first out)有点像没有栈底的栈
三、数组:定长。
查询快(有下标);
增删慢(定长);
四、链表:链表中的元素叫做节点,一个节点包含 存储的值(数据)和下一个节点的地址。
查询速度慢。如一个链表中有一万的节点,刚好要查询第一万个,那就要把所有链表遍历一遍
增删速度快:直接修改节点中的保存地址的那部分就可以了
还有一种常用的数据结构叫双向链表,即保存了上一个节点的地址、下一个节点的地址和数据值。优点,多次查询查询速度稍微快了些,如当我查100后 又需要再查90的时候,就直接根据100节点中保存的上一个节点的地址往上查询,避免了再次重新从起点遍历
当项目查询多就采用数组结构,当项目增删多,就采用链表结构
五、哈希表(数组+链表):结合了数组和链表的优点,避免了数组和链表的缺点,最常用。
查询较快;
增删较快;