如何实现链表的增删操作
1.链表
链表是一种最基本的数据结构,其存储特点如下:可以用任意一组存储单元来存储数据元素(存储单元可以不连续),除了存储每个数据元素ai的值外,还存储指示其后继元素的信息。这两部分组成的数据元素ai的存储映像称为结点。N个结点链接在一起称为链表,当结点只包含其后继信息的链表就称为单链表。
2.可定义如下链表类来存储结点信息
public class Node {
int data;
Node next = null;
public Node(int data) {
this.data = data;
}
}
3.链表中最重要的两个操作就是向链表中插入元素和删除元素
(1)插入元素
单链表的插入操作是将值为x的结点插入到链表的第i个结点的位置,即插入到元素ai-1与ai之间。具体步骤如下:
1)找到元素ai-1的存储位置p;
2)生成一个数据域为x的新结点s;
3)设置p.next=s;
4)设置s.next=ai。
(2)删除操作
单链表的删除操作是将单链表的第i个结点删除。具体步骤如下:
1)找到元素ai-1的存储位置p;
2)令p.next直接指向ai的后继结点。
4.实现代码如下:
public