linkedlist.java

来自「用链表实现Josephus问题的源码」· Java 代码 · 共 59 行

JAVA
59
字号
package Josephus;

public class LinkedList
{
	public LinkedList()
	{
		header = new ListNode(0, header);
	}
	
	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 LinkedListItr findPrevious(int x)
	{
		ListNode itr = header;
		
		while( itr.next != header && itr.next.element != x)
			itr = itr.next;
			
		return new LinkedListItr(itr);
	}
	
	
	public void remove(int x)
	{
		LinkedListItr p = findPrevious(x);
		
		p.current.next = p.current.next.next;
	}
	
	
	public void insert(int x)
	{
		LinkedListItr p = new LinkedListItr(header);
		p.current.next = new ListNode(x, p.current.next);
	}
	
	
	private ListNode header;
}

⌨️ 快捷键说明

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