用java代码打印小树 用java代码打印小树图纸

如何用java打印一棵树

import java.util.LinkedList;/**

创新互联建站专注于安龙网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供安龙营销型网站建设,安龙网站制作、安龙网页设计、安龙网站官网定制、重庆小程序开发服务,打造安龙网络公司原创品牌,更为您提供安龙网站排名全网营销落地服务。

* 需求:按层打印一棵树

* 说明:树是保存在一个链表中

* created by wangjunfu on 2017-05-25. */

public class TreeNode {

String data;

TreeNode parent;

LinkedListTreeNode childlist;

TreeNode() {

data = null;

childlist = new LinkedList();

parent = null;

} //递归显示并打印一棵树

private static void displayTree(TreeNode f, int level) {

String preStr = ""; // 打印前缀

for (int i = 0; i level; i++) {

preStr += " ";

} for (int i = 0; i f.childlist.size(); i++) {

TreeNode t = f.childlist.get(i);

System.out.println(preStr + "-" + t.data); if (!t.childlist.isEmpty()) {

displayTree(t, level + 1);

}

}

}

}

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个节点。

代码简单,网上很多,不懂也可以问我

(急!)用循环结构编写程序,实现显示输出下面由星号(“*”)构成的小树图案

你把它分成2个部分不就行了,上面的三角形一部分,下面的一部分,上面的用for循环就可以搞出来了

public class TestApp {

/**

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

for(int i = 1;i=5;i++) {

for(int j=1;j=5-i;j++) {

System.out.print(" ");

}

for(int m=1;m=2*i+1;m++) {

System.out.print("*");

}

System.out.println();

}

for(int n=1;n=4;n++) {

System.out.println(" *****");

}

}

}


分享文章:用java代码打印小树 用java代码打印小树图纸
标题网址:http://myzitong.com/article/dooeidd.html