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

📄 dsaset.java

📁 真的很麻烦也
💻 JAVA
字号:
public class DSASet implements DSA
{
	private  int numElts;            	// Number of items in the list
  	private Node header, trailer;
  	public DSASet() 
  	{
    	numElts = 0;
	    header = new Node(null, null, null);	// create header
	    trailer = new Node(header, null, null);	// create trailer
	    header.setNext(trailer);	// make header and trailer point to each other
  	}
	public boolean add(int element)
	{
		numElts++;
	    Node newNode = new Node(trailer.getPrev(), trailer, new Integer(element));
	    trailer.getPrev().setNext(newNode);
	    trailer.setPrev(newNode);
	    return true;
	}
	public boolean remove (int element)
	{
		Node theNode = header;
		for (int i = 1 ; i <= numElts; i++)
		{
			theNode = theNode.getNext();
			if (((Integer)theNode.element()).intValue() == element)
			{
				numElts--;
	    		Node vPrev = theNode.getPrev();
	    		Node vNext = theNode.getNext();
	    		vPrev.setNext(vNext);
	    		vNext.setPrev(vPrev);
	    		return true;
    		}
		}
		return false;
		
	}
	public boolean contains(int element)
	{
		Node theNode = header;
		for (int i = 1 ; i <= numElts; i++)
		{
			theNode = theNode.getNext();
			if (((Integer)theNode.element()).intValue() == element)
			{
				return true;
    		}
		}
		return false;
	}
	public void clear()
	{
		numElts = 0;
	    header = new Node(null, null, null);	// create header
	    trailer = new Node(header, null, null);	// create trailer
	    header.setNext(trailer);	// make header and trailer point to each other
	}
	public boolean isEmpty()
	{
		return (numElts < 1);
	}
	public int size()
	{
		return numElts;
	}
	public String toString()
	{
		String s ="";
		Node theNode = header;
		for (int i = 1 ; i <= numElts; i++)
		{
			theNode = theNode.getNext();
			s+= ("Element "+i+": ");
			s+= (((Integer)(theNode.element())).intValue()+"\n");    		
		}
		return s;	
	}
	
	public static void main(String[] args)
	{
		DSASet a = new DSASet();
		long startTime = System.currentTimeMillis();
		for (int i = 0 ; i < 50000; i++)
		{
			int b =(int)(Math.random()*50000);
			a.add(b);
		}
		long addTime = System.currentTimeMillis();
		System.out.println("add 50000 time: "+ (addTime-startTime));

		for (int i = 0 ; i < 50000; i++)
		{
			int b =(int)(Math.random()*50000);
			a.remove(b);
		}
		long removeTime = System.currentTimeMillis();
		System.out.println("remove 50000 time: "+ (removeTime-addTime));
		for (int i = 0 ; i < 50000; i++)
		{
			int b =(int)(Math.random()*50000);
			a.contains(b);
		}
		long checkTime = System.currentTimeMillis();		
		System.out.println("check 50000 time: "+ (checkTime-removeTime));
	}
}

⌨️ 快捷键说明

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