public class MyLink<E> {
private LinkNode<E> head;
private static class LinkNode<E>{//使用泛型保证程序的可重用性和安全性
E data;
LinkNode<E> next;//指向下一个结点的指针
}
protected void finalize() throws Throwable { }
//添加新的结点到尾部
public void add(E data){
LinkNode<E> newNode = new LinkNode<E>();
newNode.data = data;
newNode.next = null;
if(head == null){//之前的链表为空
head = newNode;//新结点即为头结点
}
else{
LinkNode<E> temp = head;
while(temp.next!=null){
temp = temp.next;
}//找到最后一个结点
temp.next = newNode;//最后一个结点指向新结点
}
}
//重写toString 方便打印链表
@Override
public String toString(){
if(head==null)
return "Empty link";
LinkNode<E> temp = head;
StringBuilder sb = new StringBuilder();
while(temp.next!=null){
sb.append(temp.data+" ");
temp = temp.next;
}
sb.append(temp.data);
return sb.toString();
}
}
单向链表
最新推荐文章于 2025-04-16 14:04:46 发布