1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- 程序=数据结构+算法
- 数据结构的划分:
- 1、线性表结构:
- |-栈
- |-队列
- |-数组
- |-链表
- 2、树型结构
- 二叉树
- ....
- 3、图结构
- 4、堆结构
- 5、散列表结构
- 线性表结构-栈和队列
- 栈结构:
- 先进后出,后进先出。
- 队列:
- 先进先出,后进后出。
- 线性表结构-数组和链表
- 数组:
- 有索引,查询速度快,增删速度慢。
- 链表:
- 没有索引,每个链表元素都至少有一个指向前一个或后一个元素地址的指针。
- List集合的底层数据结构就是线性表
- List集合接口有很多的实现类,用来实现:
- 数组 [ArrayList]
- 栈 Stack
- 队列 Queue
- 链表 [LinkedList]
- ArrayList类是List集合的实现类,底层使用的是动态数组实现的结合
- LinkedList类是List集合的实现类,底层使用的是双向链表
- LinkedList特有的方法
- addFirst(E e) 在集合的开头位置添加指定的元素
- addLast(E e) 在集合的末尾位置添加指定的元素
- getFirst(); 获取头元素
- getLast() 获取尾部元素
- removeFirst() 移除头元素
- removeLast() 移除尾部元素
- LinkedList自己就可以实现三种数据结构:
- 链表
- 栈
- 队列
|