先上代码后说明
ListNode类
//ListNode类
public class ListNode {
public int value;
ListNode next;
public ListNode(int value) {
this.value=value;
}
}
LinkNode类
//LinkNode类用于管理添加链表,将链表存储到堆中
public class LinkNode {
ListNode head=null;
//尾插法插入链表
public void insert(int value) {
ListNode node =new ListNode(value);
if(head==null) {
head=node;
return;
}
ListNode temp=head;
while(temp.next!=null) {
temp=temp.next;
}
temp.next=node;
}
//用于输出链表
public void print() {
ListNode temp=head;
//不能是temp.next=null;若果是的话不能遍历最后一个
while(temp!=null) {
System.out.println(temp.value);
temp=temp.next;
}
}
//头插法
public void head(int value) {
ListNode node=new ListNode(value);
node.next=head;
head=node;
}
//获取长度
public void getLength() {
ListNode temp=head;
if(head==null) {
return;
}
int count=0;
while(temp!=null) {
temp=temp.next;
count++;
}
System.out.println("链表的长度:"+count);
}
}
DemoNode类
//DemoNode类用于测试
public class DemoNode {
public static void main(String[] args) {
LinkNode node=new LinkNode();
node.insert(5);
node.insert(6);
node.insert(7);
node.head(1);
node.print();
node.getLength();
}
}