-
1.
创建一个无向图并统计每个顶点的度(<
/p>
11.12
)
实验目的:
(
1
)
p>
了解无向图的
java
构造。
(
2
)
了解无向图的代权及如何计算最小路径。
(
3
)
p>
了解无向图的统计顶点的度在
java
中如
何实现。
算法分析:
在一个图中,<
/p>
每条边可以标上具有某种含义的数值,
此数值称为该边的权,
p>
边上
带有权的图称为带权图。
而在带权图中,两顶点间的路径上所有边的权值之和称为这两个顶点之间的带权路径长度。
程序代码:
(字写小点,最好一页分两边写)
.*;
.*;
.*;
;
classDiagram_Panel extends JPanel {
private Rectangle btnNew =
new Rectangle(10, 10, 82, 22);
privateint state;
private Random rnd = new
Random();
privateint[][] vertices;
privateint[][] params;
privateint[][] linked;
publicDiagram_Panel () {
setBackground();
addMouseMotionListener(new
MouseMotionAdapter() {
@Override public void mouseMoved
(MouseEvent me) {
if
(()
>=
btnNew.x&&()
<=
btnNew.x
+
&&()
>=
btnNew.y&&() <= btnNew.y
+ ) {
if (state != 1) {
state = 1;
repaint();
}
} else {
if (state != 0) {
state = 0;
repaint();
}
}
}
@Override public void
mouseDragged (MouseEvent me) {
if (state == 2 || state == 1) {
if
(()
>=
btnNew.x&&()
<=
btnNew.x
+
&&()
>=
btnNew.y&&() <= btnNew.y + )
if (state != 2)
state = 2;
else
if (state != 1)
state = 1;
repaint();
}
}
});
addMouseListener(new
MouseAdapter() {
@Override public void mousePressed
(MouseEvent me) {
if (state
== 1) {
state = 2;
newGraph();
}
}
@Override public void mouseReleased
(MouseEvent me) {
if
(()
>=
btnNew.x&&()
<=
btnNew.x
+
&&()
>=
btnNew.y&&() <= btnNew.y
+ )
state = 1;
else
state = 0;
repaint();
}
});
}
private void
mouseOver (Rectangle btn, String str, Graphics g)
{
Color tmp = or();
or();
ct(btn.x, btn.y, +1, +1);
or();
ne(btn.x,
btn.y, btn.x, btn.y+-1);
ne(btn.x, btn.y, btn.x+-1, btn.y);
ring(str
,
btn.x+10, btn.y+15);
or(tmp);
}
private void mouseOff
(Rectangle btn, String str, Graphics g) {
Color tmp = or();
or();
ct(btn.x+1, btn.y+1, , );
or();
ct(btn.x,
btn.y, , );
or();
ct(btn.x, btn.y, , );
ring(str
,
btn.x+10, btn.y+15);
or(tmp);
}
private void mouseDown
(Rectangle btn, String str, Graphics g) {
Color tmp = or();
or(_GRAY);
ct(btn.x+1, btn.y+1, +1, +1);
or();
ne(btn.x+2, btn.y++1, btn.x++1,
btn.y++1);
-
-
-
-
-
-
-
-
-
上一篇:大学英语B-阅读解
下一篇:碰撞检测教程(C++)