ListedList 底层采用链表 实现,字节实现的话可以是单链表,也可以是双链表
至于删除操作,就时c语言的 删除思想,可以设置个头,这样可以保证 操作都一致
package LinkedListWZF;
public class MyLinkedList<E>
{
//集合中元素大小
int size=0;
//第一个结点
public Node<E> firstNode;
//最后一个节点
public Node<E> lastNode;
public MyLinkedList(){
}
//添加集合
public void add(E e)
{
Node<E> newNode = new Node<E> ();
//代表集合中没有元素
if(this.firstNode==null)
{
//对节点中的三个元素赋值
newNode.item=e;
newNode.prev=null;
newNode.next=null;
this.firstNode=newNode;
this.lastNode=newNode;
}
else //代表集合中有元素
{
newNode.item=e;
newNode.prev=this.lastNode;
newNode.next=null;
//更新前一个结点 的 next指针
lastNode.next=newNode;
//更新最后一个节点
this.lastNode=newNode;
}
size++;
}
/**
* 节点
* @param <E>
*/
public class Node<E>
{
public E item;
Node<E> prev;
public Node<E> next;
Node() {
}
Node(Node<E> prev,E item,Node<E> next)
{
this.prev=prev;
this.item=item;
this.next=next;
}
}
}