** 显示为树形**

树形结构应用十分广泛。

下面这段代码根据用户添加的数据,在内存中构建一个逻辑上等价的树形结构。

通过ShowTree() 可以把它显示为控制中的样子。

其中:

a.add(‘a’, ‘b’);

a.add(‘b’, ‘e’);

表示:‘b’ 作为 ‘a’ 的孩子节点;‘e’ 作为 'b’的孩子节点。

如代码中给出的示例数据,输出结果应该为:

a–b--e

| |–f--j

| |–k

|–c

|–d--g–h

|–i

请阅读下面的代码,填写缺失的部分(下划线部分)。

注意:请把填空的答案(仅填空处的答案,不包括题面)存入考生文件夹下对应题号的“解答.txt”中即可。

直接写在题面中不能得分。

import java.util.*;

class MyTree
{
private Map map = new HashMap(); public void add(char parent, char child)
{
List<Character> t = (List<Character>)map.get(parent);
if(t==null)
{
t = new Vector<Character>();
____________________; // 填空1
}
t.add(child);
} public List<Character> getChild(char x)
{
return (List<Character>)map.get(x);
}
} public class My
{
public static List<String> showTree(MyTree tree, char x)
{
List<Character> t = tree.getChild(x); List<String> r = new Vector<String>(); if(t==null)
{
r.add("" + x);
return r;
} for(int i=0; i<t.size(); i++)
{
List<String> ri = showTree(tree, t.get(i));
for(int j=0; j<ri.size(); j++)
{
String pre = "| ";
if(j==0)
{
if(i==0)
pre = x + "--";
else
pre = "|--";
}
else
{
if(i==__________________) // 填空2
pre = " ";
else
pre = "| ";
} r.add(pre + ri.get(j));
}
} return r;
} public static void main(String[] args)
{
MyTree a = new MyTree();
a.add('a', 'b');
a.add('b', 'e');
a.add('b', 'f');
a.add('a', 'c');
a.add('a', 'd');
a.add('d', 'g');
a.add('d', 'i');
a.add('g', 'h');
a.add('f', 'j');
a.add('f', 'k'); List<String> lst = showTree(a, 'a');
for(int i=0; i<lst.size(); i++)
{
System.out.println(lst.get(i));
}
}
} map.put(parent, t)
i== t.size()-1

java实现显示为树形的更多相关文章

  1. 1. webservice在输入命令的时候wsimport的时候会出现如下错误: wsimport不是内部或者外部命令。 2. javac不是内部或者外部命令 3 java 就可以显示配置成功。

    问题: webservice在输入命令的时候wsimport的时候会出现如下错误: wsimport不是内部或者外部命令. javac不是内部或者外部命令 3 java 就可以显示配置成功. 网上搜了 ...

  2. python如何将指定路径下的某类型文件,返回一个树形结构体,让前端显示为树形的目录结构

    最近遇到一个问题就是某个linux的目录下有各种文件现在的要求是只需要返回.kml格式的文件,并根据前端要求返回如下结构体即:[{'children': [{'children': [{'title' ...

  3. idea里面Java文件显示一个x

    idea里面Java文件显示一个x,编译时过滤了,setting->builder->compiler->excludes

  4. 数据库查询,显示为树形结构(easyui+SSM)

    在实际项目上,有很多地方后台存了一个表,但是在显示查询的时候需要显示为树形结构. 本项目是easyui+SSM框架. 前台程序为: <!DOCTYPE html> <html> ...

  5. 环境变量jdk版本与java -version显示不一致

    问题描述: 问题产生原因: 1.Path环境变量配置了Oracle 2.C:\windows\System32下,还有java.exe. 问题描述: 今天遇到一个小bug,我电脑环境变量配置的版本是j ...

  6. 编写Java程序,以树形结构显示国家-直辖市/省/州信息

    返回本章节 返回作业目录 需求说明: 以树形结构显示国家-直辖市/省/州信息 实现思路: 创建显示树形结构的类Tree,在该类中定义Map类型的全局实例属性countryMap,该Map集合用于存放所 ...

  7. java日历显示年份、月份

    import java.util.Scanner;class CalendarMain{     //主函数入口    public static void main(String[] args)   ...

  8. Java并发——显示锁

    Java提供一系列的显示锁类,均位于java.util.concurrent.locks包中. 锁的分类: 排他锁,共享锁 排他锁又被称为独占锁,即读写互斥.写写互斥.读读互斥. Java的ReadW ...

  9. Java如何显示线程状态?

    在Java编程中,如何显示线程状态? 以下示例演示如何使用Thread类的isAlive()和getStatus()方法显示线程的不同状态. package com.yiibai; class MyT ...

随机推荐

  1. 内存的堆分配和栈分配 & 字符数组,字符指针,Sizeof总结

    堆和栈的区别 一个由C/C++编译的程序占用的内存分为以下几个部分1.栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等.其操作方式类似于数据结构中的栈.2.堆区(heap ...

  2. java -类加载器与反射

    类加载器 类的加载 当程序要使用某个类时,如果该类还未被加载到内存中,则系统会通过加载,连接,初始化三步来实现对这个类进行初始化. l  加载 就是指将class文件读入内存,并为之创建一个Class ...

  3. PHP函数禁用绕过

    在渗透测试过程中可能经常会遇到上传webshell后,由于php.ini配置禁用了一些如exec(),shell_exec(),system()等执行系统命令的函数,导致无法执行系统命令,就此问题给出 ...

  4. zabbix server优化与迁移

    zabbix server优化与迁移 1. 概述 zabbix 系统其实分3个大部分,一个是server本身,另一个是php的httpd服务,第三个是非常需要优化的数据库.公司的zabbix监控主机在 ...

  5. 【雕爷学编程】Arduino动手做(56)---8路LED跑马灯模块

    37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器和模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里 ...

  6. 【雕爷学编程】Arduino动手做(48)---三轴ADXL345模块

    37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器和模块,依照实践(动手试试)出真知的理念,以学习和交流为目的,这里准备 ...

  7. 「雕爷学编程」Arduino动手做(23)——矩形脉冲发生器

    37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器和模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里 ...

  8. wepy+vant-weapp踩坑记

    最近用了几个月的wepy框架,碰到了挺多问题,这里总结一下 1.clone的代码无法再本地运行,wepy报错 解决方案: 执行命令 : `npm install wepy-cli@1.6.1-alph ...

  9. Rabbit的字符串 字符串最小表示法

    Rabbit的字符串 #include<bits/stdc++.h> using namespace std; ; char s[maxn]; int get_min_pos() { , ...

  10. JAVA设计模式之原型模式(prototype)

    原型模式: 原型模式又叫克隆模式 Java自带克隆模式 实现克隆模式必须实现Cloneable 接口,如果不实现会发生java.lang.CloneNotSupportedException异常 当某 ...