日期:2014-05-20 浏览次数:20735 次
public static List<Integer> sortNum(int[]is,int type ){
List<Integer> sort = new ArrayList<Integer>() ;
for (int i = 0; i < is.length; i++) {
if(type==1){
if(i==0){
sort.add(i, is[i]);
}else{
int m = (sort.size()+1)/2 ;//大于的index
int n = -1 ;//小于的index
while(true){
if(n==0){
sort.add(0,is[i]);
break;
}
if(m==sort.size()){
sort.add(sort.size(),is[i]);
break;
}
if(n>0&&is[i]==sort.get(n)){
sort.add(m,is[i]);
break;
}
if(n==m+1){
sort.add(n,is[i]);
break;
}
if(m==n+1){
sort.add(m,is[i]);
break;
}
if(is[i]>sort.get(m)){
n= m ;
m = m/2 ;
}
if(is[i]<sort.get(m)){
n = m ;
m =(sort.size()+m+1)/2 ;
}
}
}
}
if(type==0){
}
}
return sort;
}