第四周作业——图的表示
2014-04-03 23:36
483 查看
代码:
package 邻接链表;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.OutputStreamWriter;
public class GraphRepresentation {
public static void main(String[] args) {
try {
FileReader in = new FileReader("F:\\tinyG.txt");
BufferedReader bl = new BufferedReader(in);
int tempchar
1226b
;
String str = "";
str = bl.readLine();
int x = Integer.parseInt(str);
str = bl.readLine();
int E = Integer.parseInt(str);
int[][] g = new int[x][x];
str = "";
int a = 0, b = 0;
while ((tempchar = bl.read()) != -1)
{
str = str + (char) tempchar;
if ((char) tempchar == ' ')
{
a = Integer.parseInt(str.trim());
str = "";
}
if ((char) tempchar == '\n')
{
b = Integer.parseInt(str.trim());
g[a][b] = 1;
g[b][a] = 1;
str = "";
}
}
bl.close();
in.close();
FileOutputStream fos = new FileOutputStream("tinyG_matrix.txt");
OutputStreamWriter osw = new OutputStreamWriter(fos, "gb2312");
BufferedWriter bw = new BufferedWriter(osw);
str="";
System.out.println("得 到 图 的 邻 接 矩 阵 为 : ");
for (int i = 0; i < x; i++)
{
for (int j = 0; j < x; j++)
{
System.out.print(g[i][j]+" ");
str=str+Integer.toString(g[i][j]);
if(j==12){
System.out.println();
bw.write(str);
bw.newLine();
str="";
}
}
}
bw.close();
osw.close();
}
catch (NumberFormatException e)
{
e.printStackTrace();
}
catch (FileNotFoundException e)
{
e.printStackTrace();
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
运行结果:
![](https://img-blog.csdn.net/20140403233424843?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxNDAyODkzMA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
结果保存到tinyG_matrix.txt中,如下:
package 邻接链表;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.OutputStreamWriter;
public class GraphRepresentation {
public static void main(String[] args) {
try {
FileReader in = new FileReader("F:\\tinyG.txt");
BufferedReader bl = new BufferedReader(in);
int tempchar
1226b
;
String str = "";
str = bl.readLine();
int x = Integer.parseInt(str);
str = bl.readLine();
int E = Integer.parseInt(str);
int[][] g = new int[x][x];
str = "";
int a = 0, b = 0;
while ((tempchar = bl.read()) != -1)
{
str = str + (char) tempchar;
if ((char) tempchar == ' ')
{
a = Integer.parseInt(str.trim());
str = "";
}
if ((char) tempchar == '\n')
{
b = Integer.parseInt(str.trim());
g[a][b] = 1;
g[b][a] = 1;
str = "";
}
}
bl.close();
in.close();
FileOutputStream fos = new FileOutputStream("tinyG_matrix.txt");
OutputStreamWriter osw = new OutputStreamWriter(fos, "gb2312");
BufferedWriter bw = new BufferedWriter(osw);
str="";
System.out.println("得 到 图 的 邻 接 矩 阵 为 : ");
for (int i = 0; i < x; i++)
{
for (int j = 0; j < x; j++)
{
System.out.print(g[i][j]+" ");
str=str+Integer.toString(g[i][j]);
if(j==12){
System.out.println();
bw.write(str);
bw.newLine();
str="";
}
}
}
bw.close();
osw.close();
}
catch (NumberFormatException e)
{
e.printStackTrace();
}
catch (FileNotFoundException e)
{
e.printStackTrace();
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
运行结果:
结果保存到tinyG_matrix.txt中,如下: