此应用程序对一个数组进行排序。想用一行相等的值来表示当前项目的变化。我不知道我会把paint方法(或draw)放在哪里来绘制我当前的项目,因为方法“run()”不能。
class sortareBubbleSort extends Canvas implements Runnable{
Dimension dim = new Dimension (300 , 300) ;
public Dimension getPreferredSize () {
return dim ;
}
public void paint ( Graphics g) {
g.setColor (Color.black);
g.drawRect (0, 0, dim .width -1, dim.height -1);
}
//public void update ( Graphics g) {
//paint (g);}
int nre,min,max;
public sortareBubbleSort(int nre,int min,int max){
this.nre=nre;
this.min=min;
this.max=max;
}
public void run(){
int[] x=new int [nre];
for(int i=0;i<x.length-1;i++)
x[i]=min+(int)(Math.random()*((max-min)+1));
boolean doMore = true;
while (doMore) {
doMore = false;
for (int i=0; i<x.length-1; i++) {
if (x[i] > x[i+1]) {
int temp = x[i];
x[i] = x[i+1];
x[i+1] = temp;
doMore = true;
g.drawLine(50,50,x[i+1],50);
}
}
}
}
最后,我希望它看起来像这样:
为此数组 Arr[]={4,3,5,2,1} 在画布中绘制:_ __ _ __ ___
( Arr 使用其中一种方法排序的已排序向量之一)
1 2 3 4 5