このアプリケーションは、1 つの配列をソートします。行の等しい値によって変更された現在のアイテムを表現したい。メソッド「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} をキャンバスに描画するには:_ _ _ __ ___
(メソッドの 1 つを使用して並べ替えられたベクトルの 1 つを使用して並べ替えられた Arr)
1 2 3 4 5