1. First define an interface
Package Temp.test;public interface Intcompare {public int compare (int a, int b);}
2. Define two interface implementation classes, one sequence, one decrement
Add Order:
Package Temp.test;public class Increaseorder implements intcompare{@Overridepublic int compare (int a, int b) {//TODO Auto -generated method Stubif (a>b) {return-1;} else if (a<b) {return 1;} Else{return 0;}}}
Descending:
Package Temp.test;public class Decreaseorder implements intcompare{@Overridepublic int compare (int a, int b) {//TODO Auto -generated method Stubif (a>b) {return 1;} else if (a<b) {return-1;} Else{return 0;}}}
3. Finally write a sort of method
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. Test results
1234554321
Copyright NOTICE: This article for Bo Master original article, without Bo Master permission not reproduced.
A simple sort of problem