本文共 2849 字,大约阅读时间需要 9 分钟。
//定义双链表 private static class DoubleLink{ int data; DoubleLink pre; DoubleLink next; DoubleLink(){ } DoubleLink(int data){ this.data=data; } }
//初始化双链表 private static DoubleLink initLink(int [] arr,DoubleLink link){ DoubleLink head=link; int i=0; if (head==null) head= new DoubleLink(); int len =getLen(link); while (i
//正向打印双链表 private static void printLink(DoubleLink link){ DoubleLink head =link; int i=0; while (head!=null){ i++; System.out.println("第"+i+"个数是"+head.data); head=head.next; } }
//反向打印双链表 private static void reversePrintLink(DoubleLink link){ DoubleLink head =link; int i=getLen(link); while (head.next!=null){ head=head.next; } DoubleLink tail =head; while (tail.pre!=null){ System.out.println("第"+i+"个数是"+tail.data); tail=tail.pre; i--; } }
//指定位置插入数据 dataLink需要插入的数据,index插入的位置 private static DoubleLink insertDataIndex(DoubleLink link, DoubleLink dataLink,int index){ DoubleLink head =link; int len =getLen(link); if(len<1||index>len+1){ System.out.println("原链表不满足条件!"); return link; } else if (index==1){ dataLink.next=head; head.pre=dataLink; return dataLink; } else{ int i=1; while (i
//指定位置删除数据 index指定的数据位置 private static DoubleLink delDataIndex(DoubleLink link, int index){ DoubleLink head =link; int len =getLen(link); if(index<1||index>len+1){ System.out.println("指定位置不满足条件!"); return link; } else if (index==1){ DoubleLink tmp=new DoubleLink(); tmp.next=head.next; head.pre=tmp; return tmp.next; } else { int i=1; while (i
public static void main(String[] args) { //初始化链表 DoubleLink link =initLink(new int[]{ 1, 6, 9, 12},new DoubleLink()); //正向打印链表 System.out.println("***************正向打印链表为*********************************"); printLink(link); //反向打印链表 System.out.println("***************反向打印链表为**********************************"); reversePrintLink(link); //指定索引位置添加数据 System.out.println("**************指定索引位置添加数据后链表为***********************"); printLink(insertDataIndex(link,new DoubleLink(5),4)); //指定索引位置删除数据 System.out.println("**************指定索引位置删除数据后链表为***********************"); printLink(delDataIndex(link,3)); }
转载地址:http://frqzi.baihongyu.com/