单链表(不是双向,不是循环),链表头head定义为第一个节点,希望大家多多指正
定义节点类
package Test;
public class ListNode {
private int id;
private String name;
ListNode next; // 注意:创建ListNode对象,初始化next为null
public ListNode (int id,String name) {
this.id=id;
this.name=name;
}
@Override
public String toString() {
return "ListNode["+"id="+id
+",name="+name+",next="+next+"]";
}
}
定义链表类
方法有:增加节点,计算链表长度,删除第index个节点,删除指定节点,查找第k个节点,打印链表,测试方法
package Test;
public class SingleLinkList {
//定义一个头节点,头节点不要动,是个空对象
private ListNode head =null;
//添加节点到单向链表
public void addNode(ListNode node)
{
if(head==null)
{
head=node;
return;
}
ListNode temp =head;
while(temp.next!=null)
{
temp=temp.next;
}
temp.next=node;
}
//打印链表
public void printList(){
ListNode temp = head;
if(head==null)
{
System