日期:2014-05-20 浏览次数:20773 次
public interface sortable {
boolean lessthan(sortable s);
}
public class intsort implements sortable{
private int val;
public intsort(int val){this.val=val;}
public boolean lessthan(sortable s){
intsort mi=(intsort)s;
return this.val<mi.val;
}
}
import java.util.Vector;
public class sort {
void sortting(Vector z){
int k;
int n=z.size();
k=0;
while(k!=n-1){
int j=getsmallest(z,k);
exchange(z,k,j);
k++;
}
}
int getsmallest(Vector v,int k){
if(v==null||v.size()==k){
return -1;
}
int i,small;
i=k+1;
small=k;
while(i!=v.size()){
sortable current=(sortable)v.elementAt(i); //运行到这的时候提示错误
sortable smallest=(sortable)v.elementAt(small);
if(current.lessthan(smallest))
small=i;
i++;
}
return small;
}
void exchange(Vector v,int k,int j){
sortable temp;
temp=(sortable) v.elementAt(k);
v.setElementAt(v.elementAt(j),k);
v.setElementAt(temp, j);
}
}
import java.util.Vector;
public class main {
public static void main(String args[])throws Exception{
Vector xu=new Vector();
int i;
xu.add((Integer)1);
xu.add((Integer)5);
xu.add((Integer)2);
xu.add((Integer)3);
sort t=new sort();
t.sortting(xu);
for(i=0;i<xu.size();i++)
System.out.println((int)xu.elementAt(i));
}
}