提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
- 链表是一种最基本的结构,普通的单链表就是只给你一个指向链表头的指针head,如果想访问其他元素,就只能从head开始一个个向后找,最终会在访问尾结点之后结束,尾节点继续访问下一个节点会返回null,以此判断链表是否结束。
- 在工程应用,极少见到普通单链表,比较多的是带头结点的单链表和双向循环链表。
有时候会将多个链表组合从而实现更丰富的功能,这种操作在很多底层软件里大量使用,例如操作系统、虚拟机等。
一、如何构建链表
@Data
public class ListNode {
public Object value;
public ListNode next;
public ListNode(Object value, ListNode next) {
this.value = value;
this.next = next;
}
public ListNode(Object value) {
this.value = value;
this.next = null;
}
}
通过以上的代码,我们可以构建出链表的其中一个节点。
public static void main(String[] args) {
ListNode head = new ListNode(0);
ListNode cur = head;
//构建一个链表
for (int i = 1; i <= 10; i++) {
cur.next = new ListNode(i);
cur = cur.next;
}
cur = head;
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append("[链表]:");
while (cur != null) {
stringBuilder.append(cur.value);
if (cur.next != null) {
stringBuilder.append("->");
}
cur = cur.next;
}
System.out.println(stringBuilder);
}
再通过上述代码建立链表
可以看到链表已经被建立出来了