单链表的头插法
Posted *平芜尽处是春山*
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了单链表的头插法相关的知识,希望对你有一定的参考价值。
初识单链表(头插法)
package seqlist;
import java.util.Arrays;
class Node
//存储元素
int data;
//存储下一节地址
Node next;
public Node(int data)
this.data = data;
public Node(int data,Node next)
this.data = data;
this.next = next;
public class SingleLinkedList
private int size;
private Node head;
public void addFirst(int data)
if (size == 0)
Node node = new Node(data);
head = node;
size++;
else
Node node = new Node(data);
node.next = head;
head = node;
size++;
public static void main(String[] args)
SingleLinkedList singleLinkedList = new SingleLinkedList();
singleLinkedList.addFirst(1);
singleLinkedList.addFirst(3);
singleLinkedList.addFirst(5);
System.out.println(singleLinkedList);
@Override
public String toString()
String ret =" ";
Node node = head;
while(node != null)
ret += node.data +"->";
node = node.next;
ret += "NULL";
return ret;
运行截图:
注意事项:
1、这两步能否互换?
不能的噢,应该先连接head再指向更新。
2、为什么要有一个临时变量node来存储head的值?
如果直接使用head,当链表遍历一遍之后,这个链表就无法再次使用啦!
以上是关于单链表的头插法的主要内容,如果未能解决你的问题,请参考以下文章