-
基本代码实现
//Linked单向链表实现类
public class Linked{
Node first;//头节点
Node last;//尾节点
int size;//链表长度
//链表中的节点Node
static class Node{
int val;//数据
Node next;//下一个元素
public Node(int x){
val=x;
}
}
//重写toString遍历链表所有节点方便打印链表
@Override
public String toString(){
StringJoiner joiner = new StringJoiner(">");
for(Node<E> n=first;n!=null;n=n.next){
joiner.add(n.val.toString());
}
return joiner.toString();
}
}
-
添加链表元素方法(尾插法)
//添加链表元素尾插法
public void add(int val){
//获取链表的尾节点
final Node l = last;
//创建新节点
final Node newNode = new Node(val);
//判断原来的尾节点是否等于null
if(l!=null){
l.next=newNode;
}else{
first=newNode;
}
last=newNode;
size++
}
-
获取链表长度
public int getsize(){
int size = 0;
for(Node n = first;n!=null;n=n.next){
size++;
}
return size;
}
-
测试代码
public static void main(String[] args) {
Linked linked = new Linked();
linked.add(2);
linked.add(4);
linked.add(6);
System.out.println(linked); // 打印整条链表
System.out.println(linked.first); // 打印链表头结点
System.out.println(linked.last); // 打印链表尾结点
System.out.println(linked.getsize); // 打印链表长度
}