选择排序
public class sort {
public static void main(String[] args) {
int a[]=new int[] {1,5,3,8,5,8,2,9,6,7};
int N = a.length;
for(int i=0;i<N;i++) {
int min=i;
for(int j=i+1;j<N;j++) {
if(a[j]<a[min]) {
min=j;
}
}
int p=a[i];
a[i]=a[min];
a[min]=p;
System.out.println(a[i]);
}
}
}
插入排序
public class sort {
public static void main(String[] args) {
int a[]=new int[] {1,5,3,8,5,8,2,9,6,7};
int N = a.length;
for(int i=1;i<N;i++) {
for(int j=i;(j>0)&&(a[j]<a[j-1]);j--) {
int p=a[j];
a[j]=a[j-1];
a[j-1]=p;
}
}
for(int i=0;i<N;i++) {
System.out.println(a[i]);
}
}
}
希尔排序
public class sort {
public static void main(String[] args) {
int a[]=new int[] {1,5,3,8,5,8,2,9,6,7};
int N = a.length;
int h=1;
while(h<N/3) h=h*3+1;
while(h>=1) {
for(int i=h;i<N;i++) {
for(int j=i;(j>=h)&&(a[j]<a[j-h]);j-=h) {
int p=a[j];
a[j]=a[j-h];
a[j-h]=p;
}
}
h=h/3;
}
for(int i=0;i<N;i++) {
System.out.println(a[i]);
}
}
}