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

📄 linkedlist.java

📁 用循环链表求解约瑟夫(josephus)问题 求解约瑟夫(josephus)问题,用数组实现
💻 JAVA
字号:
public class LinkedList{
	public ListNode header;
	public LinkedList(){
		header=new ListNode(null);
	}
	public boolean isEmpty()
	{return header.next==null;}
	public void makeEmpty()
	{header.next=null;}
	public LinkedListItr zeroth()
	{return new LinkedListItr(header);}
	public LinkedListItr first()
	{ return new LinkedListItr(header.next);}
	public static void printList( LinkedList theList ){
       if (theList.isEmpty())
         System.out.print("Empty list") ;
       else
        {   LinkedListItr itr = theList.first( );
         for(  ; ! itr.isPastEnd( ); itr. advance( ) )
              System.out.print( itr.retrieve( ) + " ") ;
        }
        System.out.println( );
     }
     public LinkedListItr find (Object x){
     	ListNode itr=header.next;
     	while(itr!=null&&!itr.element.equals(x))
     	itr=itr.next;
     	return new LinkedListItr(itr);
     }
     public void remove(Object x){
     	LinkedListItr p=findPrevious(x);
     	if(p.current.next!=null)
     	p.current.next=p.current.next.next;
     }
   
     	
     public LinkedListItr findPrevious(Object x){
     	ListNode itr =header;
     	while(itr.next!=null&&!itr.next.element.equals(x))
     	itr=itr.next;
     	return new LinkedListItr(itr);
     }
     public void insert(Object x,LinkedListItr p){
     	if(p!=null&&p.current!=null)
     	p.current.next=new ListNode(x,p.current.next);
     }

}

⌨️ 快捷键说明

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