一般来讲,链表中只会有一个结点的指针域为空,该结点为尾结点,其他结点的指针域都会存储一个结点的内存地址。链表中也只会有一个结点的内存地址没有存储在其他结点的指针域,该结点称为头结点。
在链表中,**与删除结点的操作效率高。例如,如果想在链表中间的两个结点A,B之间**一个新结点P,我们只需要改变两个结点指针即可,时间复杂度为O(1),相比数组的**操作高效很多。在链表中删除某个结点也很方便,只需要改变一个结点指针即可。
有头链表:就是问了便于初次学习理解使用链表而设计的,在链表的头部放置一个结点,专门用于标记头部使用的,其下一个结点就是链表的第一个结点。(如下图,有头链表的测试代码)我们实际使用不完全不在意在头结点中存放的数据,我们在意的是它的指针域,因为存放了(非空链表)第一个结点的地址信息。
plist原来指向头结点,现在没了,这不直接指向第一个结点就好了!指针的数据就是一个地址值,同时它也是一个变量,它是不是也有地址,那设计的时候直接把这个指针的地址作为第一个结点的地址不就解决了吗!这就可以找到第一个结点的位置了!
定位:若把结点**第n个位置,遍历链表,使头指针指向第n-1个结点创建结点:先为结点分配空间,再将数据填入结点的数据域。**节点:先把第n-1个结点的指针域复制到**结点点的指针域,再使第n-1个结点的指针域指向**结点。
①.除了终结技,停云的战技还可提高彦卿的*击力。彦卿的终结技为140点启动,搭配停云时可以减少2次左右的技能施放,加速终结技的启动。