帮我修改一下!!!

cooma 2008-04-10 04:25:24
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
import java.awt.geom.*;
import java.util.*;
import javax.swing.*;
import java.applet.*;
public class Sort extends Applet{
public static int[] data={18,4,17,5,13,8,14,7,10,16,11,3,19,2,20,15,6,9,1,12};
Button bt=new Button("Start");
int x=50,y=100;
Graphics g=getGraphics();
public void init(){
add(bt);
repaint();
bt.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
if(e.getSource()==bt) sort(data);
}
});
}
public void exchange(int i,int j){
try{
Thread.sleep(100);
}catch(Exception e){}
g.setColor(Color.blue);
g.fillRect(x,y+10*i,10*data[i],5);
g.fillRect(x,y+10*j,10*data[j],5);
try{
Thread.sleep(100);
}catch(Exception e){}
}

public void paint(Graphics g){
g.setColor(Color.green);
g.setFont(new Font("TimesRoman",Font.PLAIN,12));
for(int k=-1;++k<data.length;){
g.drawRect(x,y+10*k,10*data[k],5);
g.fillRect(x,y+10*k,10*data[k],5);
g.drawString(String.valueOf(data[k]),x+10*data[k]+15,y+10*(k+1));
}
}
public void sort(int a[]){

for (int i = a.length; --i>=0; )

for (int j = 0; j<i; j++) {


if (a[j] > a[j+1]) {

int T = a[j];

a[j] = a[j+1];

a[j+1] = T;
}

exchange(j, j+1);


}

}

}




一个排序算法,演示排序比较过程。
...全文
80 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
J_Factory 2008-04-10
  • 打赏
  • 举报
回复
做了点调整
import java.applet.Applet; 
import java.awt.*;
import java.awt.event.*;
public class Sort extends Applet implements Runnable{
public static int[] data={18,4,17,5,13,8,14,7,10,16,11,3,19,2,20,15,6,9,1,12};
Button bt=new Button("Start");
int x=50,y=100;
Graphics g=getGraphics();
public void init(){
add(bt);
this.setSize(300,300);
bt.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
if(e.getSource()==bt)threadStart();
}
});
}
public void threadStart(){
new Thread(this).start();
}
public void paint(Graphics g){
g.setColor(Color.green);
g.setFont(new Font("TimesRoman",Font.PLAIN,12));
for(int k=-1;++k <data.length;){
g.drawRect(x,y+10*k,10*data[k],5);
g.fillRect(x,y+10*k,10*data[k],5);
g.drawString(String.valueOf(data[k]),x+10*data[k]+15,y+10*(k+1));
}
}
public void run() {
sort(data);
}
public void sort(int a[]){
for (int i = a.length; --i>=0;)
for (int j = 0; j <i; j++) {
if (a[j] > a[j+1]) {
int T = a[j];
a[j] = a[j+1];
a[j+1] = T;
repaint();
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
}

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧