资源简介
把字母表示的图状数据结构转换为树状数据结构
采用DefaultMutableTreeNode类的方式建立一个图状数据结构,顶点为字母A、B、C等,你也可以自己设计。可以帮助你把一个复杂的网状关系变成一个条理化的树状关系,并通过一个Tree显示出来。很不可思议吧?看看就知道了!
采用DefaultMutableTreeNode类的方式建立一个图状数据结构,顶点为字母A、B、C等,你也可以自己设计。可以帮助你把一个复杂的网状关系变成一个条理化的树状关系,并通过一个Tree显示出来。很不可思议吧?看看就知道了!
代码片段和文件信息
import java.awt.Container;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.util.ArrayList;
import java.util.TreeMap;
import java.util.TreeSet;
import javax.swing.Jframe;
import javax.swing.JScrollPane;
import javax.swing.JTree;
import javax.swing.tree.*;
import javax.swing.tree.DefaultMutableTreeNode;
import java.util.*;
import javax.swing.tree.*;
public class ChangeGraphtoTree {
public ChangeGraphtoTree() {
}
public static void main(String[] args) {
Ordered ord = new Ordered();
GraphVertex gpnode = new GraphVertex();
IDlinkValue linkvalue = new IDlinkValue();
//通过有序偶对建立图状数据结构,并分配长度属性
new Ordered(“A“ “B“ new OrderValue(1));
new Ordered(“B“ “D“ new OrderValue(2));
new Ordered(“D“ “E“ new OrderValue(3));
new Ordered(“E“ “F“ new OrderValue(4));
new Ordered(“F“ “A“ new OrderValue(5));
new Ordered(“A“ “C“ new OrderValue(6));
new Ordered(“C“ “D“ new OrderValue(7));
new Ordered(“A“ “D“ new OrderValue(2));
new Ordered(“D“ “A“ new OrderValue(56));
//new Ordered(“B““E“);
//new Ordered(“D““F“);
new Ordered(“E“ “B“ null);
new Ordered(“C“ “G“ null);
new Ordered(“E“ “H“ null);
//把图状结构转化成路径数组和决策树,并把路径数组输出到控制台。
GraphVertex A = GraphVertex.GraphNameMap.get(“A“);
A.GraphToTree(A);
//根据需要优化树的分支
A.optimize( A.LeafList);
//显示优化标记后的树型结构
Jframe f = new Jframe(“图状数据结构(ABC)“);
Container contentpane = f.getContentPane();
JTree treeABC = new JTree((TreeNode) (A.TreeRoot));
JScrollPane scrollpane = new JScrollPane();
scrollpane.setViewportView(treeABC);
contentpane.add(scrollpane);
f.pack();
f.setVisible(true);
f.setBounds(300 30 600 600);
f.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
}
}
//ChangeGraphtoTree.java //本程序用NetBeans IDE 7.2 开发
//顶点对象
class GraphVertex {
//1,图状数据结构定义
//起点(弧起点)清单
public ArrayList StartPointList = new ArrayList();
//目标点(弧终点)清单
public ArrayList EndPointList = new ArrayList();
public GraphVertexValue GVV;//顶点的附加属性
public static TreeMap GraphNameMap;//顶点键-值对集合
private static ArrayList VertexStack;//当前节点数组堆栈
//3,策略树相关变量
public static UserTreeNode TreeRoot;//树的根节点
public static ArrayList LeafList;//树的叶节点列表
private static ArrayList TreeStack;//树的当前节点路径堆栈
private static UserTreeNode aVertexNode;//树的当前节点
private static int linkID;//用于对叶节点编号
public static final boolean CONTINUE = true;
public static final boolean BREAK = false;
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 48 2013-06-03 20:46 java_pushone.bat
文件 41 2013-06-03 20:38 javac_change.bat
文件 14020 2013-06-03 20:45 ChangeGraphtoTree.java
----------- --------- ---------- ----- ----
14109 3
- 上一篇:Java记事本【源代码 实验报告】
- 下一篇:即时通讯系统JAVA源码
相关资源
- 即时通讯系统JAVA源码
- Java记事本【源代码 实验报告】
- 通过java将word文档转换成html页面
- java swing 做的 汽车租赁系统
- jsp基于servlet 图书馆管理系统
- java实现小型函数画图板(附源代码、
- 《韩顺平30.16GJava视频教程完整版》
- java简单的购物车实例程序
- java 人事管理系统 课程设计
- 基于java的类PGP文件加密传输系统
- 超级好的纯jsp写的聊天室
- java 二叉排序树与平衡二叉树的实现
- java数据库连接(所有的数据库都支持
- java 简易签到表
- CMM_词法分析和语法分析_java编写
- java实现的搜索引擎
- java读取DBF解决方案(可以解决javadb
- JavaHTTP协议实现
- Java版航空订票系统源码
- Java航空订票系统
- 八数码java和报告
- 数据库设备管理系统课程设计论文J
- java编写的扫描仪程序
- Java实现的聊天室,具有群聊和私聊功
- java GUI版汉诺塔源码
- jsp 学生信息管理系统设计与实现
- java实现的网络五子棋
- java编写21点游戏(附源代码)
- ATM自动取款机(JAVA课程)基本功能实
- 距离向量路由协议模拟程序(Java)
评论
共有 条评论