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

📄 tree01.java

📁 已经编写好的数据结构课本程序可以减轻您的负担
💻 JAVA
字号:
// =============== Program Description ===============
// 程序名称: tree01.java
// 程序目的: 依序输入元素值,以数组方式建立二元
//             树,并输出节点内容。
// Written By Kuo-Yu Huang. (WANT Studio.)            
// ===================================================
import ConsoleReader.*;					// 导入已定义的数据输入类

public class tree01
{
	public static void main (String args[])
	{
        	int i;					// 循环计数变量
        	int Index = 1;				// 数据索引变量
        	int Data;	            		// 读入输入值所使用的暂存变量
      		BTreeArray BTree = new BTreeArray();	// 声明二叉树数组

		System.out.println("Please input the elements of binary tree(Exit for 0):");
     							
		ConsoleReader console = new ConsoleReader(System.in);
		
       		do					// 读取输入值
       		{
       			System.out.print("Data "+Index+" : ");
			Data = console.readInt();
       			BTree.Create(Data);		// 建立二叉树
       			Index++;
		}while ( Data != 0 );

		BTree.PrintAll();			// 输出二叉树的内容
	}
}

class BTreeArray
{
	int MaxSize = 16;
	int[] ABTree = new int[MaxSize];
	
	public void BTreeArray()
	{
		int i;					// 循环计数变量
		
		for ( i=0 ; i<MaxSize ; i++ )
			ABTree[i] = 0;
	}
//----------------------------------------------------
// 建立二叉树
//----------------------------------------------------
	public void Create(int Data)
	{
      		int i;					// 循环计数变量
      		int Level;				// 树的阶层数
      		
		Level=1;				// 从阶层1开始建立
		
	   	while ( ABTree[Level] != 0)		// 判断是否有子树存在
            	{
			if (Data < ABTree[Level] )	// 判断是左子树还是右子树
			  Level = Level * 2;		// 左子树
                    	else
			  Level = Level * 2 + 1;	// 右子树
            	}
            	ABTree[Level] = Data;			// 将元素值存入节点            	
	}
      
//----------------------------------------------------
// 打印所有二叉树节点数据
//----------------------------------------------------
	public void PrintAll()
	{
      		int i;					// 循环计数变量
      		
		System.out.println("The Binary Tree Node Data : ");
		
		for ( i=1 ; i<MaxSize ; i++ )
		{
			System.out.print("Node"+i);
			System.out.println(" : ["+ABTree[i]+"]");
		}
	}      
}

⌨️ 快捷键说明

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