1.首先定义一个接口
package temp.test;
public interface IntCompare {
public int compare(int a, int b);
}
2.分别定义两个接口实现类,一个增序,一个减序
增序:
package temp.test;
public class IncreaseOrder implements IntCompare{
@Override
public int compare(int a, int b) {
// TODO Auto-generated method stub
if(a>b){
return -1;
}else if(a<b){
return 1;
}else{
return 0;
}
}
}
降序:
package temp.test;
public class DecreaseOrder implements IntCompare{
@Override
public int compare(int a, int b) {
// TODO Auto-generated method stub
if(a>b){
return 1;
}else if(a<b){
return -1;
}else{
return 0;
}
}
}
3.最后写一个排序的方法
package temp.test;
public class SortNumber {
public static void sortNumber(int array[],IntCompare compare){
if(array!=null){
for(int i=1;i<array.length;i++){
int temp=array[i];
int j=i;
if(compare.compare(array[j-1], temp)==-1){
while(j>=1&&compare.compare(array[j-1], temp)==-1){
array[j]=array[j-1];
j--;
}
}
array[j]=temp;
}
}
}
public static void main(String args[]){
int array1[]={1,2,3,4,5};
int array2[]={1,2,3,4,5};
sortNumber(array1, new IncreaseOrder());
for(int item:array1){
System.out.print(item);
}
sortNumber(array2, new DecreaseOrder());
for(int item:array2){
System.out.print(item);
}
}
}
4.测试结果
1234554321