public class MyLinkedList {
Node first;
Node last;
//计数器
int count=0;
//提供一个构造器
public MyLinkedList(){
}
//添加元素的方法
public void add(Object o){
if(first==null){//证明添加的元素是第一个节点;
//将添加的元素封装为一个Node对象
Node n=new Node();
n.setPre(null);
n.setObj(o);
n.setNext(null);
//当前链中第一个节点变为n
first=n;
//当前链中最后一个节点变为n
last=n;
}else{//证明已经不是第一个节点了
//将添加的元素封装成一个Node对象。
Node n=new Node();
n.setPre(last);//n的上一个节点一定是当前链中的最后一个节点Last
n.setObj(o);
n.setNext(null);
//当前链中的最后一个节点的下一个元素 要指向n
last.setNext(n);
//将最后一个节点变为n
last=n;
}
//链中元素数量加1
count++;
}
//得到元素数量
public int getSize(){
return count;
}
//通过下标得到元素
public Object get(int index){
//获取链表的头元素
Node n=first;
for(int i=0;i<index;i++){
n=n.getNext();
}
return n.getObj();
}
}
class Test1{
public static void main(String[] args) {
//创建一个集合对象
MyLinkedList ml=new MyLinkedList();
ml.add("aa");
ml.add("bb");
ml.add("cc");
System.out.println("元素数量为"+ml.getSize());
System.out.println(ml.get(2));
}
}
自己写一个简单的链表
最新推荐文章于 2025-02-22 17:13:26 发布