public class Example {
public static boolean less(Comparable v1,Comparable w1){
int v=Integer.parseInt((String)v1);
int w=Integer.parseInt((String)w1);
if (v<w)
return true;
else
return false;
}
protected static void each(Comparable[] a,int i,int j){
Comparable t =a[i];
a[i]=a[j];
a[j]=t;
}
protected void show(Comparable[] a){
for (int i=0;i<a.length;i++){
System.out.print(a[i]+" ");
}
System.out.println();
}
public static boolean isSorted(Comparable[] a){
for (int i=0;i<a.length;i++){
if (less(a[i],a[i-1])){
return false;
}
}
return true;
}
}
public class Example01 extends Example{
/**
* 选择排序
* 先说冒泡排序,第一个元素与第二个元素比较,如果第二个元素大于第一个元素,则互换位置,然后第一个元素和第三个元素作比较,如果第三个元素大于第一个元素,则互换位置,以此类推。选择排序是将最小元素的角标存起来,然后在互换。
* @param a
*/
public static void sort01(Comparable a[]) {
int N=a.length;
for (int i=0;i<N;i++){
int min=i;
for (int j=i+1;j<N;j++){
if (less(a[j],a[min])){
min=j;
}
each(a,i,min);
}
}
}
public static void main(String[] args) {
String []a={"2","5","3","4","6","1"};
sort01(a);
System.out.println(a);
for (int i=0;i<a.length;i++){
System.out.println(a[i]);
}
}
}