冒泡排序:
import
java.applet.Applet;
import
java.awt.
*
;
public
class
Bubble
extends
Applet

...
{
Label pro=new Label("输入整数:");
TextField input=new TextField(5);
Button b=new Button("排序");
//int[] DataArray=new int[10];
int[] DataArray=new int[10];
int DataInputed=0;
int[][] SortPro=new int[11][10];

public void init()

...{
add(pro);
add(input);
add(b);
}
public void paint(Graphics g)

...{
for(int i=0;i<SortPro.length;i++)
for(int j=0;j<SortPro.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)

...{
pro.setText("已输入"+DataInputed+"个数据,请继续");
input.setText("");
}
else

...{
pro.setText(" 已输入十个数据,不能再输入!");
input.hide();
}
}
if(e.target==b)

...{
for(int i=0;i<DataArray.length;i++)
SortPro[0][i]=DataArray[i];
SortProcedure();
repaint();
}
return true;

}

void SortProcedure()

...{
int i1,t,exchangeCnt=0;
for(int pass1=0;pass1<DataArray.length;pass1++)

...{
for(i1=0;i1<DataArray.length-pass1-1;i1++)

...{
if(DataArray[i1]>DataArray[i1+1])

...{
t=DataArray[i1];
DataArray[i1]=DataArray[i1+1];
DataArray[i1+1]=t;
exchangeCnt++;
}
}

for(i1=0;i1<DataArray.length;i1++)
SortPro[pass1+1][i1]=DataArray[i1];
if(exchangeCnt==0)
return;
}
}
}
<
HTML
>
<
HEAD
>
<
TITLE
>
New Document
</
TITLE
>
</
HEAD
>
<
BODY
>
<
APPLET
CODE
="Bubble"
WIDTH
="330"
HEIGHT
="100"
>
</
APPLET
>
</
BODY
>
</
HTML
>
其他的排序类同
主要代码如下
插入排序:
public
void
sort(
int
[] data)
...
{
int temp;
for(int i=1; i〈data.length; i++)

...{
for(int j=i; (j〉0)&&(data[j]〉data[j-1]); j--)

...{
temp=date[j];
data[j]=data[j-1];
data[j-1]=temp;
}
}
}
选择排序:
public static void xuanze(int[] data) {
int temp;
for (int i = 0; i 〈 data.length; i++) {
int lowIndex = i;
for (int j = data.length - 1; j 〉 i; j--) {
if (data[j] 〉 data[lowIndex]) {
lowIndex = j;
}
}
temp=data[i];
data[i]=data[lowIndex];
data[lowIndex]=temp;
}
}
shell排序:
public void sort(int[] data) {
for(int i=data.length/2; i〉2; i/=2){
for(int j=0; j〈i; j++){
insertSort(data,j,i);
}
}
insertSort(data,0,1);
}
private void insertSort(int[] data, int start, int inc) {
int temp;
for(int i=start+inc; i〈data.length; i+=inc){
for(int j=i; (j〉=inc)&&(data[j]〈data[j-inc]); j-=inc){
temp=data[j];
data[j]=data[j-inc]
data[j-inc]=temp;
}
}
}