
雖然說是二元樹,其實也只是用 txt 檔寫出資料所在位置跟資料代碼罷了囧,圖形還不會用
像這樣:
1,a
2,b
3,c
5,d
6,e
10,f
11,g
================================
import java.io.*;
import java.util.*;
class BinaryTree{
char[] data;
BinaryTree(File f,int d)throws FileNotFoundException{
int z = (int)Math.pow(2.0,(double)d);
data = new char[z];
Scanner r = new Scanner(f);
while(r.hasNextLine()){
String s = r.nextLine();
StringTokenizer stk = new StringTokenizer(s,",");
int id = Integer.parseInt(stk.nextToken());
char c = stk.nextToken().charAt(0);
data[id] = c;
}
r.close();
}
void inorderTraverse(int t){
if(t>=data.length || data[t]==0)
return;
inorderTraverse(2*t);
System.out.print(data[t]+" ");
inorderTraverse(2*t+1);
}
}
public class treetraverse{
public static void main(String[] alio)throws FileNotFoundException{
File f = new File("tree.txt");
int d = 4; //tree的深度
BinaryTree t = new BinaryTree(f,d);
System.out.println("inorder traversal = ");
t.inorderTraverse(1);
System.out.println();
}
}
================================