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

📄 demobinarytreeuos.java

📁 国外的数据结构与算法分析用书
💻 JAVA
字号:
/* DemoBinaryTreeUos.java
 * ---------------------------------------------
 * Copyright (c) 2002 University of Saskatchewan
 * All Rights Reserved
 * --------------------------------------------- */
package dslib.demo;

import java.io.*;
import dslib.tree.*;
import dslib.base.CursorUos;

/** A class that demonstrates the use of any BinaryTreeUos.*/
public class DemoBinaryTreeUos extends DemoBasicBinaryTreeUos
{
	/** Performs a test on the BinaryTreeUos that is passed to it. 
		@param t1 The BinaryTreeUos to be demo-ed.*/
	public DemoBinaryTreeUos(BinaryTreeUos t1)
	{
		super(t1);
		// place the output in a text file that reflects the class being demonstrated.
		String className = t1.getClass().getName();
		className = className.substring(className.lastIndexOf(".")+1);
		PrintWriter out = null;
		try
		{
			out = new PrintWriter(new FileOutputStream("OutputDemo" + className + ".txt", true));
		} catch (Exception e)
		{
			System.err.println("Error creating output file in test routine for " + className);
			e.printStackTrace();
		}
		out.println();
		out.println("Demo For BinaryTreeUos");
		out.println("Creating new tree with root 5");
		BinaryTreeUos t5 = (BinaryTreeUos) t1.treeClone();
		BinaryTreeUos t6 = (BinaryTreeUos) t1.treeClone();
		t1.insertRoot(new Integer(5));
		out.println("Go Root");
		t1.goRoot();
		out.println("Inserting..... 31");	
		t1.insertLeafLeftGo(new Integer(31));
		out.println("Inserting..... 12");
		t1.insertLeafRightGo(new Integer(12));
		out.println("Inserting..... 21");
		t5.insertRoot(new Integer(21));
		out.println("Inserting..... 15");
		t6.insertRoot(new Integer(15));		
	  	out.println("Go Root");
	  	t1.goRoot();
	  	t1.setRightSubtree(t5);
	  	t1.goLeft();
	  	t1.setLeftSubtree(t6);
	  	out.println("Inserting..... 18");
	  	t1.insertParentLeftGo(new Integer(18));
	  	out.println("Inserting..... 1");
	  	t1.insertParentRightGo(new Integer(1));
	  	out.println("Inserting..... 33");
	  	t1.insertLeafRightGo(new Integer(33));
		out.println(t1.toStringByLevel());
		t1.goRoot();
		out.println("Current Contents: " + t1);
		out.println("Right Subtree: " + t1.rightSubtree().toStringByLevel());
		out.println("Left Subtree: " + t1.leftSubtree().toStringByLevel());
		out.println("Frequency of 21 " + t1.frequency(new Integer(21)));
		out.println("Frequency of 19 " + t1.frequency(new Integer(19)));
		t1.goRoot();
		out.println("Search for..... 33");
		t1.search(new Integer(33));
		out.println("Item exists? " + t1.itemExists());
		if(t1.itemExists())
		{
			out.println("Deleting Current Item");
			t1.deleteItem();
		}
		out.println("Current Contents" + t1);
		out.println("Search for..... 1");
		t1.search(new Integer(1));
		out.println("Item exists? " + t1.itemExists());
		out.println("Deleting Current Item");
		t1.deleteItem();
		out.println("Current Contents" + t1);
		out.println("Search for..... 15");
		t1.search(new Integer(15));
		out.println("Item exists? " + t1.itemExists());
		if(t1.itemExists())
		{
			out.println("Deleting Current Item");
			t1.deleteItem();
		}
		out.println("Current Contents" + t1);		
		out.println("inorder traversal:");
		t1.goBefore();
		out.println("before--item exists?: " + t1.linearItemExists());
		t1.goFirst();
		while (t1.linearItemExists())
		{
			out.print(t1.linearItem().toString() + "   ");
			t1.goForth();
		}
		out.close();
	}
}

⌨️ 快捷键说明

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