java打印树形结构代码 java打印二叉树

用java 编写一个程序,在命令行中以树状结构展现特定的文件夹及其子文件(夹)!import java.io.*;
class testfilelist {
public static void main(String[] args) {
String separator = File.separator;//与系统有关的默认名称分隔符java打印树形结构代码,出于方便考虑java打印树形结构代码,它被表示为一个字符串 。
String filename = "myfile.txt";//文件名
String directory = "mydir1" + separator + "mydir2"+ separator +"mydir3";//mydir1\mydir2\mydir3\myfile.txt
crate(directory,filename);//给出个方法创建文件 if--有就创建 else--就输出文件名和大小
File f=new File("D:/My Documents/java12");//指定文件位置
System.out.println(f.getName());//打印在这个文件下的文件夹;
tree(f,1);//方法!进入子文件夹中并打印子文件名
}
private static void tree(File f,int level) {
String preStr="";//缩进量
for(int i=0;ilevel;i++) {
if(i==level-1)
preStr=preStr+"┗";
else
preStr=preStr+"*";//级别- 代表这个目下下的子文件夹
}
File[] childs=f.listFiles();//返回一个抽象路径名数组,这些路径名表示此抽象路径名所表示目录中的文件
for(int i=0;ichilds.length;i++)
{
System.out.println(preStr+childs[i].getName());//打印子文件的名字
if(childs[i].isDirectory()) //测试此抽象路径名表示的文件是否是一个目录
{
tree(childs[i],level+1);
}//如果子目录下还有子目录,递归子目录调用此方法
}
}
public static void crate(String di,String fn){
File f = new File(di, fn);
if (f.exists())//测试此抽象路径名表示的文件或目录是否存在
{
System.out.println("文件名java打印树形结构代码:" + f.getAbsolutePath());
System.out.println("文件大小java打印树形结构代码:" + f.length());
} else {
f.getParentFile().mkdirs();// 返回此抽象路径名的父路径名的抽象路径名,如果此路径名没有指定父目录,则返回 null.mkdirs()//创建此抽象路径名指定的目录
try {
f.createNewFile();//当且仅当不存在具有此抽象路径名指定的名称的文件时 , 原子地创建由此抽象路径名指定的一个新的空文件
} catch (IOException e) {
e.printStackTrace();
}
}
}
}应该满足楼主的意思java打印树形结构代码!嘿嘿
请问java 2叉树里,怎样可以打印出来树形结构样子?呵呵,这个问题不是那么简单的 。
你首先要自己定义一个代表二叉树的类BinaryTree,然后在它里面写一个方法display(),然后在这个方法里自己控制这个二叉树的显示 。
java中把数组以二叉树形式打印出来你说的意思应该是用数组的方式存储二叉树,这需要利用到完全二叉树的性质,
,完全二叉树通常采用数组而不是链表存储,其存储结构如下:
var
tree:array[1..n]of
longint;{n:integer;n=1}
对于tree[i],有如下特点:
(1)若i为奇数且i1,那么tree的左兄弟为tree[i-1];
(2)若i为偶数且in,那么tree的右兄弟为tree[i+1];
(3)若i1 , tree的双亲为tree[i
div
2];
(4)若2*i=n , 那么tree的左孩子为tree[2*i];若2*i+1=n,那么tree的右孩子为tree[2*i+1];
(5)若in
div
2,那么tree[i]为叶子结点(对应于(3));
(6)若i(n-1)
div
2.那么tree[i]必有两个孩子(对应于(4)) 。
(7)满二叉树一定是完全二叉树,完全二叉树不一定是满二叉树 。
完全二叉树第i层至多有2^(i-1)个节点,共i层的完全二叉树最多有2^i-1个节点 。
代码简单,网上很多,不懂也可以问我
如何用Java实现树形结构?。?/h2>package tree;

推荐阅读