Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Comparator;
- public class InsertionSort {
- private static Comparator c;
- private static boolean less(Comparable v, Comparable w){
- return c.compare(v, w)<0;
- }
- private static void exch(Comparable[] a, int i, int j){
- Comparable swap = a[i];
- a[i] = a[j];
- a[j] = swap;
- }
- private static boolean isSorted(Comparable[] a){
- for (int i=1;i<a.length;i++)
- if (less(a[i],a[i-1])) return false;
- return true;
- }
- public static void sort(Comparable[] a, Comparator y){
- c = y;
- int n = a.length;
- for (int i=0;i<n;i++){
- for (int j = i;j>0;j--)
- if (less(a[j],a[j-1]))
- exch(a,j,j-1);
- else break;
- }
- }
- public static void sort(Comparable[] a, int l, int h, Comparator y){
- c = y;
- for (int i=l;i<=h;i++){
- for (int j = i;j>0;j--)
- if (less(a[j],a[j-1]))
- exch(a,j,j-1);
- else break;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement