资源简介
数据结构 图 (邻接矩阵) java图形界面 实现
图的深度优先遍历算法 广度遍历算法 删除增加顶点等
代码片段和文件信息
//数据结构:图遍历程序
import java.util.*;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
class MGraph
{
private boolean[] visited; //是否遍历过
private int[][] graph; //二维数组图
public linkedList vertex = new linkedList(); //定义链表来存储图的顶点
public MGraph()
{
vertex.clear();
visited = new boolean[10];
graph = new int[10][10];
for(int i = 0; i < 10; i++)
{
visited[i] = false;
for(int j = 0; j < vertex.size(); j++)
{
graph[i][j] = 0;
}
}
}
public void initGraph() //构造默认图
{
vertex.clear(); //清空链表
vertex.addLast(“A“);
vertex.addLast(“B“);
vertex.addLast(“C“);
vertex.addLast(“D“);
vertex.addLast(“E“);
this.Delvisited();
//把有边的设为1
graph[0][1] = 1;graph[1][0] = 1; //点1-2
graph[0][4] = 1;graph[4][0] = 1; //点1-5
graph[1][2] = 1;graph[2][1] = 1; //点2-3
graph[1][3] = 1;graph[3][1] = 1; //点2-4
graph[2][4] = 1;graph[4][2] = 1; //点3-5
}
public void Delvisited() //初始化遍历数组
{
for(int i = 0; i < vertex.size(); i++)
visited[i] = false;
}
/*
public String GetVex(int i) //取图中第i个顶点的数据信息
{
return vertex.get(i);
}
*/
public void PutVex(int iString value) //将图中第i个顶点的数据域置为value
{
vertex.set(ivalue);
}
public void AddVex(String value) //在图中加入一个顶点值为value
{
vertex.addLast(value);
}
public void ShowVex()
{
for(int i=0;i {
System.out.print(“顶点“+(i+1)+“: “+vertex.get(i));
GraphGui.textarea1.append(“顶点“+(i+1)+“: “+vertex.get(i)+“ “);
}
}
public void DeleteVex(int x) //删除图中第x个顶点
{
vertex.remove(x); //删除一个顶点后,注意vertex.size()已经减少1了
for(int i=x;i for(int j=0;j {
graph[i][j]=graph[i+1][j];
}
for(int i=0;i for(int j=x;j {
graph[i][j]=graph[i][j+1];
}
}
public void InserArc(int iint j) //在图中插入一条边,其依附的两个顶点的编号为i和j
{
graph[i][j] = 1;
}
public void DeleteArc(int iint j) //在图中删除一条边,其依附的两个顶点的编号为i和j
{
graph[i][j] = 0;
}
public void DFSTraverse(int x) //深度优先遍历图
{
System.out.print(vertex.get(x)+“ “); //访问顶点
GraphGui.textarea2.append(vertex.get(x)+“ “);
visited[x] = true; //标记为已访问过
for(int i = 0; i < vertex.size(); i++)
{
if(graph[x][i] == 1 && visited[i] == false) //如果有边而又未被访问过
{
DFSTraverse(i); //递归遍历点
}
}
}
public void BFSTraverse(int v) //广度优先遍历图
{
Queue queue=new Queue(); //初始化队列
System.out.print(vertex.get(v)+“ “); //访问顶点
GraphGui.textarea2.append(vertex.get(v)+“ “);
visited[v] = true;
queue.EnQueue(v); //当前访问的顶点的编号入队
while(queue.is
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 9753 2011-05-29 18:30 GraphGui.java
----------- --------- ---------- ----- ----
9753 1
相关资源
- 数据结构 各种排序算法 java图形界面
- 计算机图形学全部源码JAVA版by中南民
- 彩色图转灰度图加权,最大值,平均
- android图库 gallery apk
- java里提取word里的图片
- java绘制复杂图形并输出图片
- jsp页面实现对摄像头的调用 能录取图
- 使用java程序编写的拼图游戏
- 人员管理系统 java swing图形化界面
- 拼图游戏 实验报告 完整报告
- java 拼图源课程设计
- java与数据库连接简单的图形界面
- JAVA-画笔小程序
- 图书馆管理系统JSP+Servlet+JavaBean+MySQ
- jcaptcha-2.0-alpha-1 相关jar
- 多边形填充算法java实现
- [原创] 高清晰高品质Java图片压缩
- java 实现的图片浏览器
- 玩转算法系列--数据结构精讲更适合
- 算法图解
- JAVA语言程序设计与数据结构第十一版
- Unity打开IOS/Android图库和相机获取相片
- Android使用截图和录屏功能的代码
- Android系统截屏 读取/dev/graphics/fb0获取
- Android实现二维码扫描功能四-ZXing识别
- java图形拖拽验证码 滑动式验证 直
- android 之 webView 显示h5 执行选择图片或
- 基于JavaEE的图书管理系统设计与实现
- autojs手机端截图取色助手.apk
- excel动态图表模板
评论
共有 条评论