public class Link {
public long dData;
public Link next;
public Link(long dData){
this.dData = dData;
}
public void displayLink(){
System.out.println("{"+dData+"}");
}
}
public class FirstLastLink {
private Link first;
private Link last;
public FirstLastLink(){
first = null;
last = null;
}
public boolean isEmpty(){
return first == null;
}
public void insertFirst(long dd){
Link newLink = new Link(dd);
if(isEmpty()){//如果原来是空的,更新尾节点;如果不为空,不需要对尾节点进行操作
last = newLink;
}
newLink.next = first;
first = newLink;
}
public void insertLast(long dd){
Link newLink = new Link(dd);
if(isEmpty()){
first = newLink;
}else{
last.next = newLink;//更新最后一个链接点,指向新链接点
}
last = newLink; //更新尾节点,指向新链接点
}
public long deleteFirst(){
if(first == null){
System.out.println("没有数据");
return 0;
}
long temp = first.dData;
if(first.next == null){
last = null;
}
first = first.next;
return temp;
}
public long deleteLast(){
long temp = last.dData;
if(first == null){
System.out.println("没有数据");
return 0;
}
return temp;
}
public void displayList(){
Link current = first;
while(current !=null){
current.displayLink();
current = current.next;
}
}
public static void main(String[] args){
FirstLastLink firstlastlink = new FirstLastLink();
firstlastlink.insertFirst(1);
firstlastlink.insertFirst(2);
firstlastlink.insertLast(4);
firstlastlink.insertLast(0);
firstlastlink.deleteFirst();
firstlastlink.d();
firstlastlink.displayList();
}
}
















