java创建双向循环链表

/**
 * 
 */
/**   
 * @author jueying:   
 * @version 创建时间:2018-10-23 下午01:26:47   
 * 类说明   
 */
/**
 * @author jueying
 *
 */
public class Test6 {
	
	int top=-1;//栈顶指针
	int size=0;//栈大小
	 static Node headNode;
	
    int i=0;
	class Node{
		private Node SuffixNext;//后指针
 
		private Node prefixNext;//前指针
		
		private Integer data;//数据域
		
	}

	
	//双向循环列表
	public void Doublerecicle(Node node,int data){
		if(i<=10){
			Node newNode=new Node();//创建新的结点
			newNode.data=new Integer(i);//设置数据域
			newNode.SuffixNext=null;
			node.SuffixNext=newNode;
			newNode.prefixNext=node;
			Doublerecicle(newNode,++i);
		}else{
			node.SuffixNext=headNode;
			headNode.prefixNext=node;
		}
		
	}
	

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		   Test6 test=new Test6();
		   headNode=test.new Node();//头指针
		   headNode.data=null;
		   new Test6().Doublerecicle(headNode,0);//循环链表
          
		   
		   int k=0;
		   //前循环输出链表   从头到尾输出,在从尾到头输出即可
		  /* while(headNode.SuffixNext!=null&&k<=23){
			   headNode=headNode.SuffixNext;
			   ++k;
			   if(headNode.data!=null)
			   System.out.print(headNode.data+"  ");
		   }*/
		   
		   //后循环输出链表   从尾到头输出,在从头到尾输出即可
		   while(headNode.prefixNext!=null&&k<=23){
			   headNode=headNode.prefixNext;
			   ++k;
			   if(headNode.data!=null)
			   System.out.print(headNode.data+"  ");
		   }
		   
		   
		   
	}

}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值