0

このアプリケーションは、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

4

1 に答える 1