⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 llist.java

📁 上传试试看 不知道 是不是一定成功的
💻 JAVA
字号:
package apriori;

import apriori.Link;

public class LList 
{
	public Link head,tail;
	protected Link curr;
	public LList(int size)
	{
		setup();
	}
	public LList()
	{
		setup();
	}
	protected void setup()
	{
		tail=head=curr=new Link(null);
	}

	public void clear() {
		head.setNext(null);	
		curr=tail=head;
	}

	public void insert(Object item)
	{
		assert curr==null:"no currant element!";
		curr.setNext(new Link(item,curr.next()));
		if(tail==curr)
		{
			tail=curr.next();
		}
	}
	public void append(Object item)
	{
		tail.setNext(new Link(item,null));
		tail = tail.next();
	}

	public Object remove() 
	{
	    Object item=curr.next().element();
	    curr.setNext(curr.next().next());
		return item;
	}

	public void setFirst()
	{
		curr=head;	
	}

	public void next()
	{
		if(curr!=tail)
		{
			curr=curr.next();
		}
	}

	public void prev() 
	{
		if(curr!=null&&curr!=head)
		{
			Link temp=head;
			while(temp!=null&&temp.next()!=curr)
			{
				temp=temp.next();
			}
			curr=temp;
		}
		else
		{
			curr=null;
			return;
		}
	}

	public int length() 
	{
		int length=0;
		for(Link temp=head.next();temp!=null;temp=temp.next())
		length++;	
		return length;
	}

	public void setPos(int pos) 
	{
		curr=head.next();
		for(int i=0;i<pos-1;i++)
		{
			curr=curr.next();
		}
			
	}
    
	public void setValue(Object val) 
	{
		curr.next().setElement(val);
	}

	public Object currValue() 
	{
		Object item=curr.next().element();
		return item;
	}

	public boolean isEmpty() 
	{
		return curr.next()==null;
	}

	public boolean isInList() 
	{
		
		return curr.next()!=null&&curr!=null;
	}
	public void contraryOrder()
	{
		Link curr1;
		curr=head.next();
		head.setNext(tail);
		tail=curr;
		curr1=curr.next();
		for(int i=0;i<length()-1;i++)
		{
			curr1=curr.next();
			if(i==1)
				curr.next().setNext(curr);
			else
				curr.setNext(curr1);
			curr=curr1;
		}
		tail.setNext(null);
	}

	public void print()
	{
		if(isEmpty())
		{
			System.out.println("null");	
		}
		else
		{
			for(setFirst();isInList();next())
			{
				System.out.println(currValue()+" ");
			}
		}
		
	}
	public void reverse2()
	{
    	Link temp=head.next,after=null,before=null; 
    	while(temp!=null)
    	{
    		after=temp.next;
    		temp.next=before;
    		before=temp;
    		temp=after;
    		}
    	Link link=new Link(null);
    	link.setNext(before);
    	head=link;
     } 
	public void reverse1()
	{  
		Link temp1;
	    curr=tail;
	   while(curr!=head.next()){
	    this.prev();	
	    curr.next().setNext(curr); 
	    } 
	    curr.setNext(null);
	    temp1=head.next();
	    head.setNext(tail);
	    tail=temp1;
	    setFirst();
	} 
	public void reverse3(){
		Link temp,temp1,temp2,temp3;
		temp1=null;
		temp2=null;
		temp=head.next();
		for(curr=head.next();;)
		{  
		 temp1=temp2;
	     if(curr.next()!=null&&curr.next().next()!=null)
	     {
	     temp2=curr.next();
	     temp3=curr.next().next();
	     curr.setNext(temp1);
	     temp2.setNext(curr);
	     curr=temp3;
	     }
	     if(curr.next()==null){
	    	tail.setNext(temp2);
	    	break;
	        }
	     if(curr.next().next()==null){
		    	curr.setNext(temp2);
		    	tail.setNext(curr);
		    	break;
		    } 
	    }   
			head.setNext(tail);
			tail=temp;
			setFirst();
	} 
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -