注意:不改动程序的结构,不得增行或删行。
程序运行结果如下:
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
/*
<applet code=LookForMax width=800 height=400>
</applet>
*/
public class LookForMax extends Applet implements ActionListener{
Label result ;
TextField inl,in2;
Button btn;
int a=0,b=0,max=0;
public void init()
{
result=new Label ("请先输入两个待比较得整数");
in1=new TextField(5);
in2=new TextField(5);
btn=new Button("比较大小");
add(in1);
add(in2);
add(btn);
add(result);
btn.addActionListener(supper);
}
public void actionPerformed(ActionEvent e){
a=Integer.parseInt(in1);
b=Integer.parseInt(in2);
if(a>b)
max=a;
else
max=b;
result, setText ("两个数中最大值是:"+max);
}
}
LookFormax.html:
<html>
<head>
<title>A Simple Program</title>
</head>
<body>
<applet code="LookForMax.class" width=800 height=400>
</applet>
</body>
</html>
合成数(composite number)法,是消除图算法岐义性的一种通用方法。首先,在顶点的标识之间约定某一次序。比如,顶点标识为整数或字符时,可直接以整数或字符为序;对于字符串等标识,不妨按字典序排列。于是,若边(v,u)权重为w,则对应的合成数取作向量:(w,min(v,u),max(v,u))。如此,任何两条边总能明确地依照字典序比较出大小。
试在6.11.5节Prim算法和6.12.2节Dijkstra算法中引入这一方法,以消除其中的歧义性。