java创建双向循环链表

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_37817685/article/details/83445096
/**
 * 
 */
/**   
 * @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+"  ");
		   }
		   
		   
		   
	}

}

猜你喜欢

转载自blog.csdn.net/weixin_37817685/article/details/83445096
今日推荐