|
import java.awt.*;
import java.applet.*;

 public class BubbleSort extends Applet {
Label prompt=new Label("請輸入欲排序的整數數據(最多10個): ");
TextField input=new TextField(5);
Button sortbtn=new Button("排序");
int[] DataArray=new int[10];
int DataInputed=0;
int[][] SortPro=new int[11][10];
public void init()
 {
add(prompt);add(input);add(sortbtn);
}
 public void paint(Graphics g) {
for(int i=0;i<SortPro.length;i++)
for(int j=0;j<SortPro[i].length;j++)
g.drawString(Integer.toString(SortPro[i][j]),10+30*j,40+20*i);
}
 public boolean action(Event e,Object o) {
 if(e.target==input) {
DataArray[DataInputed++]=Integer.parseInt(input.getText());
 if(DataInputed<10) {
prompt.setText("已輸入"+DataInputed+"個數據,請繼續");
input.setText("");
}
else
 {prompt.setText("已輸入10個數據,不能再輸入了");
input.hide();
}
}
if(e.target==sortbtn)
 {for(int i=0;i<DataArray.length;i++)
SortPro[0][i]=DataArray[i];
SortProcedure();
repaint();
}
return true;
}
 void SortProcedure() {
int pass,i,temp,exchangeCnt;
for(pass=0;pass<DataArray.length;pass++)
 {
exchangeCnt=0;
for(i=0;i<DataArray.length-pass-1;i++)
 { if(DataArray[i]>DataArray[i+1])
 {temp=DataArray[i];
DataArray[i]=DataArray[i+1];
DataArray[i+1]=temp;
exchangeCnt++;
}
}
for(i=0;i<DataArray.length;i++)
SortPro[pass+1][i]=DataArray[i];
if(exchangeCnt==0)
return;
}
}
}

|