线性表之单链表LinkedList(2)

节点类:

package com.phn.datestructure; public class FOLinkedNode<E> { private E e;// 结点中存放的数据 FOLinkedNode() { } FOLinkedNode(E e) { this.e = e; } FOLinkedNode<E> next;// 用来指向该结点的下一个结点 // 设置下一节点的值 void addNext(FOLinkedNode<E> node) { next = node; } public E getE() { return e; } public void setE(E e) { this.e = e; } @Override public String toString() { return "Node [e=" + e + ", next=" + next + "]"; } }

这里也讲讲数据元素的插入和删除操作;
插入操作演示如下:




代码:

s->next = p->next; p->next = s;

这里摘了《大话数据结构》的一段文字解释:

删除操作如下图:

一句代码:

p->next = p->next->next;

结合上述代码和图例,可以看出单链表的删除和插入操作都是由两部分组成:

遍历查找到需要操作的位置的那个元素;

然后进行插入和删除操作。

下面是摘自《大话数据结构》的分析:

单链表的整表创建
方法有头插法和尾插法;
头插法:相当于插队的方法。如下图

相对于头插法,尾插法更加合理一些。

单链表的整表删除
下面是摘自《大话数据结构》的分析:


下面比较一下单链表和顺序表:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/b09070c36dafa19e3fa6a05b8fbf2977.html