二叉树层序遍历Java实现「建议收藏」

二叉树层序遍历Java实现「建议收藏」publicclassNode{privateintvalue;privateNodelchild;privateNoderchild;publicintgetValue(){returnvalue;}publicvoidsetValue(intvalue){this.value=value;}

大家好,又见面了,我是你们的朋友全栈君。

二叉树层序遍历Java实现「建议收藏」

public class Node {


private int value;


private Node lchild;


private Node rchild;


public int getValue() {


return value;


}

public void setValue(int value) {


this.value = value;


}


public Node getLchild() {


return lchild;


}


public void setLchild(Node lchild) {


this.lchild = lchild;


}


public Node getRchild() {


return rchild;


}


public void setRchild(Node rchild) {


this.rchild = rchild;


}


@Override


public String toString() {


return “Node [value=” + value + “]”;


}

}

import java.util.LinkedList;
import java.util.Queue;

public class Main {

public static void show(Node node) {

Queue<Node> queue = new LinkedList<>();
if (node == null) {

return;
}
queue.offer(node);
while (queue.peek() != null) {

Node n = queue.poll();
System.out.print(n.getValue());
if (n.getLchild() != null) {

queue.offer(n.getLchild());
}

if (n.getRchild() != null) {

queue.offer(n.getRchild());
}

}

}

public static void main(String[] args) {

Node[] nodes = new Node[10];
for (int i = 1; i < nodes.length; i++) {

Node n = new Node();
n.setValue(i);
nodes[i] = n;
}

nodes[1].setLchild(nodes[2]);
nodes[1].setRchild(nodes[3]);

nodes[2].setLchild(nodes[4]);
nodes[2].setRchild(nodes[5]);

nodes[3].setLchild(nodes[6]);
nodes[3].setRchild(nodes[7]);

nodes[4].setLchild(nodes[8]);
nodes[5].setRchild(nodes[9]);

show(nodes[1]);
}
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/143600.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 分布式系统的 CAP 定理

    分布式系统的 CAP 定理CAP定理指出,在一个分布式系统中,对于一致性、可用性、分区容错这三个特性,不可能同时满足,而是必须有所舍弃。我们设计分布式系统时,必须在三者之间(尤其是一致性和可用性之间)有所取舍和平衡。作者:王克锋出处:https://kefeng.wang/2018/07/26/distributed-cap/版权:自由转载-非商用-非衍生-保持署名,转载请标明作者和出处。1概述…

    2022年10月26日
  • 进程与线程

    进程与线程进程我们都知道计算机的核心是CPU,它承担了所有的计算任务,而操作系统是计算机的管理者,它负责任务的调度,资源的分配和管理,统领整个计算机硬件;应用程序是具有某种功能的程序,程序是运行于操作系统之

    2022年7月1日
  • Activity启动模式singleTask的理解

    Activity启动模式singleTask的理解1.Activity启动模式singleTask的理解2.Task与Activity栈3.singleTask设置方式4.singleTask的意义(作用)4.1.举例说明4.2.例子14.3.例子24.4.小结5.taskAffinity属性5.1.配置方式5.2.意义(作用)5.3.举例5.4.回退顺序5.5.总结1.Activity启动模式singleTask的理解2.Task与Activity栈Task是一些Acti..

    2022年6月26日
  • linux文件共享 samba_文件共享服务

    linux文件共享 samba_文件共享服务Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成;SMB(ServerMessagesBlock,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务;SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统,

    2022年9月24日
  • 程序员联合开发网chaijiabai_程序员开发手册

    程序员联合开发网chaijiabai_程序员开发手册 程序员创业指导书本文转自http://www.programsalon.com/whydo.asp

    2022年10月31日
  • pat乙级1002_PAT甲级

    pat乙级1002_PAT甲级题目链接实现#include&lt;iostream&gt;#include&lt;cstdio&gt;usingnamespacestd;//得到最大公因子intgcd(inta,intb) { returnb==0?a:gcd(b,a%b);}//最小公倍数intlcm(inta,intb){ returna/gcd(…

    2022年10月21日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号