魔法の弾丸タイプの解決策はありません。Thread.sleep(...)
コード内のさまざまな場所で呼び出しを行う必要があると思います。
public class BubbleSort {
private long sleepBetweenIterationsMillis;
public BubbleSort(long sleepBetweenIterationsMillis) {
this.sleepBetweenIterationsMillis = sleepBetweenIterationsMillis;
}
...
// iterate through the list bringing the highest value to the top
// wait a certain number of millis
Thread.sleep(sleepBetweenIterationsMillis);
// loop
...
}
これらのスリープ呼び出しを行うためにソートアルゴリズムでポイントを選択することは、「反復」と見なすものによって異なります。スリープ値を挿入する代わりに、スリープマネージャーを呼び出して、スリープ値を動的に変更したり、ユーザー入力に基づいて変更したりすることができます。
public interface SleepManager {
public void sleep();
}
public class BubbleSort {
private SleepManager sleepManager;
public BubbleSort(SleepManager sleepManager) {
this.sleepManager = sleepManager;
}
...
// iterate through the list bringing the highest value to the top
// call the manager which can dynamically slow or speed up the iterations
sleepManager.sleep();
// loop
...
}
MVCの質問にコメントすることはできません。何を試し、何を達成したいのかについて、もう1つ具体的な質問を書く必要があります。