package com.java.chapterFive;
/**
* 双端链表
* @author DearMind-Hack
*
*/
public class FirstLastApp {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
FirstLastList theList=new FirstLastList();
theList.insertFirst(22);
theList.insertFirst(44);
theList.insertFirst(88);
theList.insertLast(11);
theList.insertLast(33);
theList.insertLast(55);
theList.displayList();
theList.deleteFirst();
theList.deleteFirst();
theList.displayList();
}//end main
}
//////////////////////////////////////////////////////////////////////////////////////
class FirstLastList{
private Link first;
private Link last;
//--------------------------------------------------------------------------------------
public FirstLastList(){
first=null;
last=null;
}
//---------------------------------------------------------------------------------
public boolean isEmpty(){
return first==null;
}
//-----------------------------------------------------------
public void insertFirst(long dd){
Link newLink=new Link(dd);
if(isEmpty())
last=newLink; //如果为空,那么last指向最后
newLink.next=first; //让刚刚生成的节点指下一个节点
first=newLink; //让first指向刚生成的节点
}
//--------------------------------------------------------------------------------
public void insertLast(long dd){
Link newLink=new Link(dd);
if(isEmpty())
first=newLink;
else
last.next=newLink;
last=newLink;
}
//------------------------------------------------------------------------------
public long deleteFirst(){
long temp=first.LData; //删除first指向的数据
if(first.next==null)
last=null;
first=first.next;
return temp; //返回头结点指向的数据
}
//-------------------------------------------------------------
public void displayList(){
System.out.print("List (first--->last): ");
Link current=first;
while(current!=null){
current.displayLongLink();
current=current.next;
}
System.out.println(" ");
}
}//end class FirstLastlist
【第五节】Java代码实现双端链表
最新推荐文章于 2021-02-22 06:08:31 发布