栈也就是先进后出的模型 类似弹夹
数据进入栈模型的过程成为 :压/进栈
先进来的数据被压在最下面,被称为栈底元素
最后进来的数据 被称为 栈顶元素
数据离开栈模型的过程成为:弹/出栈
队列
数据从后端进入队列被称为:入队列
数据从前端出去队列被称为:出队列
数组 是查询快 增删慢的模型
查询数据通过地址值和索引定位,查询任意数据耗时相同,查询速度快
删除数据时,要将原始数据删除,同时后面每个数据前移,删除效率低
添加数据时,添加位置后的每个数据后移,再添加元素,添加效率极低
链表 是一种增删快 查询慢的模型(对比数组)
由各个节点连接而成,每个节点会有自身的数据跟存储数据的地址,以及一个指向下一个节点的地址,如果节点指向空地址^ 表示结束
增删修改链表 只需要修改节点地址指向就可以了
查询第N个元素 必须从头结点head 开始查询
链表分为单向链表和双向链表
双向链表会额外记录前一个节点的地址