java数据结构 (简单排序)

冒泡排序
public class BubbleSort { 
     
    public static void sort(long[] arr) { 
        long tmp = 0; 
        for(int i = 0; i < arr.length - 1; i++) { 
            for(int j = arr.length - 1; j > i; j--) { 
                if(arr[j] < arr[j - 1]) { 
                    //进行交换 
                    tmp = arr[j]; 
                    arr[j] = arr[j - 1]; 
                    arr[j - 1] = tmp; 
                } 
            } 
        } 
    } 
}


选择排序
public class SelectionSort { 
     
    public static void sort(long[] arr) { 
        int k = 0; 
        long tmp = 0; 
        for(int i = 0; i < arr.length - 1; i++) { 
            k = i; 
            for(int j = i; j < arr.length; j++) { 
                if(arr[j] < arr[k]) { 
                    k = j; 
                } 
            } 
            tmp = arr[i]; 
            arr[i] = arr[k]; 
            arr[k] = tmp; 
        } 
    } 
}


插入排序
public class InsertSort { 
     
    public static void sort(long[] arr) { 
        long tmp = 0; 
         
        for(int i = 1; i < arr.length; i++) { 
            tmp = arr[i]; 
            int j = i; 
            while(j > 0 && arr[j] >= tmp) { 
                arr[j] = arr[j - 1]; 
                j--; 
            } 
            arr[j] = tmp; 
        } 
    } 
}


测试
public class TestSort { 
    public static void main(String[] args) { 
        long[] arr = new long[5]; 
        arr[0] = 34; 
        arr[1] = 23; 
        arr[2] = 2; 
        arr[3] = 1; 
        arr[4] = -4; 
         
        System.out.print("["); 
        for(long num : arr) { 
            System.out.print(num + " "); 
        } 
        System.out.print("]"); 
        System.out.println(); 
         
        InsertSort.sort(arr); 
         
        System.out.print("["); 
        for(long num : arr) { 
            System.out.print(num + " "); 
        } 
        System.out.print("]"); 
        System.out.println(); 
         
    } 
}

你可能感兴趣的:(数据结构)