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
版权声明:本文为博主原创文章,未经博主允许不得转载。
时间: 2024-10-08 09:45:24