Thread one = new Thread(){
public void run(){
while(true){
for (int m=listlen-1;m>=1;m--){
flag=0;
for (int n=0;n<m;n++){
if (a[n+1]<a[n]){
temp=a[n+1];
repaint();
a[n+1]=a[n];
repaint();
a[n]=temp;
repaint();
flag=1;
}
}
if (flag==0){
m=0;
}
}
try
{
Thread.sleep (100);
}
catch (InterruptedException ex)
{
}
}
}
};
one.start();
Stack Overflow的朋友们,我偶然发现了我的代码中存在的一个问题,我有一定难度试图解决这个问题。我正在创建一个GUI,显示对象,因为它们按此冒泡排序进行排序。然而,我的代码目前完成的是显示完成的列表,然后显示它,
我认为这是我的问题,但我还没能解决它。
答案 0 :(得分:1)
您正在外部Thread.sleep(100)
循环之外等待(for
),因此在排序完成后
相反,您应该将等待的放在<{1}}循环的正文中,或者甚至可以在每次for
来电之前。
repaint()