私は遅延タイマーに苦労しています。私はどのようにスワッピングを観察者に見せることができますか?スワップ処理中に選択したバーに色を付けることで、これは途中での選択ソートです。ソートの処理のためにタイマーを挿入する方法
selectionSort2.java
/**
*
* @author Yuvinng
*/
import java.awt.*;
import javax.swing.*;
import java.util.Random;
import javax.swing.Timer;
import java.awt.event.*;
public class SelectionSortPanel2 extends JPanel{
protected JButton selection;
private final int width=400,height=400;
private static Random generator;
private int[] list=new int[100];
private Timer timer;
public void selectionSort(int[] list)
{
int min;
int temp;
for(int index=0; index<list.length-1;index++)
{
min=index;
for(int scan=index+1;scan<list.length;scan++)
if(list[scan]<(list[min]))
min=scan;
temp=list[min];
list[min]=list[index];
list[index]=temp;
repaint();
}
}
private class swapper implements ActionListener
{
public void actionPerformed(ActionEvent event)
{
selectionSort(list);
}
}
}
まず、読みやすくするためにコードを書式設定することから始めます。あなたのIDEはあなたのためにそれを行うことができるはずです。 –
読みやすくするためにコードを書式設定してから、タイマーで何をするかを見てください。あなたは100ミリ秒の遅延がありますが、それ以降はアレイ全体を並べ替えて再描画しますが、それはあなたの目標ではないと思います。あなたがソートの進捗状況を見ることができるように各スワップ後に遅れたくありませんか? –
@RogerLindsjöはい、それは私の目標でした。しかし、私はどのようにスワップがより明白なように交換されているバーのための色とadditiionのユーザーのために見えるようにスワッピングを実行するタイマーのループを作成する方法を知りません。 –