一、创建双端链表
mport android.util.Log;
/**
* Created by Xi on 2017/7/30.
* 双端链表中链结点
*/
public class LinkFirstLast {
public double dData;
public LinkFirstLast next;//下一个结点
public LinkFirstLast(double dd){
dData=dd;
}
/**
* 展示链接点
*/
public void displayLink(){
Log.i("LinkFirstLast",dData+"");
}
}
import android.util.Log;
/**
* Created by Xi on 2017/7/30.
* 双端链表
*/
public class LinkListFirstLast {
private static final String TAG="LinkListFirstLast";
private LinkFirstLast first;//链表的first标志结点,即首结点
private LinkFirstLast last;//链表的last标志结点,即末尾结点
public LinkListFirstLast(){
first=null;
last=null;
}
/**
* 在链表链首插入元素
*/
public void insertFirst(double dd){
LinkFirstLast newLink=new LinkFirstLast(dd);//创建一个新链接点
if(isEmpty()){//如果是空链表
last=newLink;
}else{
newLink.next=first;
}
first=newLink;
}
/**
* 在链表链尾插入元素
*/
public void insertLast(double dd){
LinkFirstLast newLink=new LinkFirstLast(dd);//创建一个新链接点
if(isEmpty()){//如果是空链表
first=newLink;
}else{
last.next=newLink;
}
last=newLink;
}
/**
* 判断链表是否为空
*/
public boolean isEmpty(){
return first==null;
}
/**
* 删除连接点,从链表首删除
*/
public double deleteFirst(){
double temp=first.dData;
if(first.next==null){
last=null;
}
first=first.next;
return temp;
}
/**
* 展示链表
*/
public void displayList(){
Log.i(TAG,"List (first-->last):");
LinkFirstLast current=first;
while(current!=null){
current.displayLink();
current=current.next;
}
}
}
二、调用函数如下:
/**
* 双端链表
*/
public void link_firtlast(){
//创建链表,并添加结点。
LinkListFirstLast theList = new LinkListFirstLast();
theList.insertFirst(11);
theList.insertFirst(22);
theList.insertFirst(33);
theList.insertFirst(44);
theList.insertLast(55);
theList.displayList();
//循环删除结点,直到删光
Log.i(TAG,"Deleted ");
while (!theList.isEmpty()) {
double dd = theList.deleteFirst();
Log.i(TAG,"Deleted data"+dd);
}
}
日志打印如下:
08-14 18:33:20.353 9687-9687/com.tool.wpn.quicksort I/LinkListFirstLast: List (first-->last):
08-14 18:33:20.355 9687-9687/com.tool.wpn.quicksort I/LinkFirstLast: 44.0
08-14 18:33:20.355 9687-9687/com.tool.wpn.quicksort I/LinkFirstLast: 33.0
08-14 18:33:20.356 9687-9687/com.tool.wpn.quicksort I/LinkFirstLast: 22.0
08-14 18:33:20.356 9687-9687/com.tool.wpn.quicksort I/LinkFirstLast: 11.0
08-14 18:33:20.356 9687-9687/com.tool.wpn.quicksort I/LinkFirstLast: 55.0
08-14 18:33:20.356 9687-9687/com.tool.wpn.quicksort I/MainActivity: Deleted
08-14 18:33:20.356 9687-9687/com.tool.wpn.quicksort I/MainActivity: Deleted data44.0
08-14 18:33:20.356 9687-9687/com.tool.wpn.quicksort I/MainActivity: Deleted data33.0
08-14 18:33:20.357 9687-9687/com.tool.wpn.quicksort I/MainActivity: Deleted data22.0
08-14 18:33:20.357 9687-9687/com.tool.wpn.quicksort I/MainActivity: Deleted data11.0
08-14 18:33:20.357 9687-9687/com.tool.wpn.quicksort I/MainActivity: Deleted data55.0
源码下载地址:点击打开链接