![](https://img-blog.csdnimg.cn/20190918135101160.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
9.链表
大师
快支棱起来!
这个作者很懒,什么都没留下…
展开
-
1.1用数组实现列表-MyArrayList
线性表(列表)的接口定义import java.util.Iterator;public interface MyList<T> extends Iterator<T> { void add(T element);//新增一个元素 void delete(T element);//删除相同元素 void delete(int index);//根据索引删除元素 void update(int index, T newElement);//索引位置元素替换为新元原创 2022-05-09 21:26:51 · 434 阅读 · 0 评论 -
1.0 面向对象+数据结构
类和类之间关系:(1)泛化:老虎(特殊) 泛化后成为动物(一般)继承关系,表示一般与特殊的关系(2)关联(组合、聚集)数量对应关系聚集:老师(1个)和同学(n个)组合:小明(1个)和小明的名字(1个)聚集可拆【弱关联】,组合不可拆【强关联】关于继承:重写(Override)在子类中把父类本身有的方法重新写一遍(有权限的情况下)方法名,参数列表,返回类型 与 父必须相同重载(Overload)方法同名,但有不同参数列表(参数类型不同、参数个数不同or参数原创 2022-05-08 16:24:47 · 215 阅读 · 0 评论 -
1.2 单链表SingleLinkedList实现
import java.util.List;//链式存储,引用方式来实现树,用链条维系关系public class TreeNode<E> {//定义一个TreeNode,泛型最后要替换成具体的类型:字符串、巴拉巴拉 public E key;//自身节点中的数据 public TreeNode<E> parent;//他有一个引用parent,指向父节点 public List<TreeNode<E>> children;/...原创 2022-05-11 18:24:12 · 137 阅读 · 0 评论 -
1.3 双向链表的实现+API
nn.next=tail表示a2:tail的前驱a2.next 指向新节点原创 2022-05-13 19:18:35 · 138 阅读 · 0 评论 -
链表和数组异同 9.5 25.14重新听
空间上:链表多一些,不仅记录元素的值,还要记录后继的地址( n*地址的长度)数组有多少元素,本身就是元素占据的空间时间上:按索引的(按索引访问):array快元素个数变化(增删) :link有优势按照内容:两个一样数组: 时间复杂度 插入(空间充足) O(1) 插入(空间不足) O(n)+O(1)=O(n) 扩容和拷贝 删除(根据内容) O(n-k)+O(n) 顺序查找 删除(根据索引) ...原创 2022-05-12 12:00:00 · 105 阅读 · 0 评论 -
链表节点的删除操作
#链表的普通删除第一种:头部删除 head移动到下一个元素第二种:尾部删除 倒数第二个节点指针指向null第三种:中间删除 a前一个的指针 指向a的后一个public class 普通删除 { int size; public Node remove(int index){ if(index<0||index>=size){throw new IndexOutOfBoundsException"超出范围";} Node removeNode=null; if(index原创 2022-05-11 19:34:43 · 5422 阅读 · 1 评论