常见排序算法(java实现)详解编程语言

常见排序算法介绍

冒泡排序

  • 代码:
public class BubbleSort { 
 
    public static void sort(int[] array) { 
        int tValue; 
        for (int i = 0; i < array.length; i++) { 
            for (int j = i; j < array.length; j++) { 
                if (array[i] > array[j]) { 
                    tValue = array[i]; 
                    array[i] = array[j]; 
                    array[j] = tValue; 
                } 
            } 
        } 
    } 
 
    public static void main(String[] args) { 
        int a[] = { 6, 2, 4, 5, 1, 9, 10, 7 }; 
        sort(a); 
        for (int v : a) { 
            System.out.print(v + " "); 
        } 
    } 
}

输入结果:
1 2 4 5 6 7 9 10

插入排序:

  • 效果图:
    常见排序算法(java实现)详解编程语言

  • 代码:

public class InsertSort { 
    public static void sort(int[] array) { 
        int tValue; 
        int j; 
        for (int i = 0; i < array.length; i++) { 
            j = i; 
            tValue = array[i]; 
            while (j > 0 && tValue < array[j - 1]) { 
                array[j] = array[j - 1]; 
                j--; 
            } 
            array[j] = tValue; 
        } 
    } 
 
    public static void main(String[] args) { 
        int a[] = { 6, 2, 4, 5, 1, 9, 10, 7 }; 
        sort(a); 
        for (int v : a) { 
            System.out.print(v + " "); 
        } 
    } 
} 

输入结果:
1 2 4 5 6 7 9 10

选择排序:

  • 代码:
public class SelectSort { 
    public static void sort(int[] array) { 
        int index, tValue; 
        for (int i = 0; i < array.length; i++) { 
            index = i; 
            for (int j = i + 1; j < array.length; j++) { 
                if (array[j] < array[index]) { 
                    index = j; 
                } 
            } 
            if (index != i) { 
                tValue = array[i]; 
                array[i] = array[index]; 
                array[index] = tValue; 
            } 
        } 
    } 
 
    public static void main(String[] args) { 
        int a[] = { 6, 2, 4, 5, 1, 9, 10, 7 }; 
        sort(a); 
        for (int v : a) { 
            System.out.print(v + " "); 
        } 
    } 
}

输入结果:
1 2 4 5 6 7 9 10

快速排序:

  • 代码:
public class QuickSort { 
    public static void quickSort(int[] array, int left, int right) { 
        int i, j, bValue, tValue; 
        if (left > right) { 
            return; 
        } 
        i = left; 
        j = right; 
        bValue = array[left]; 
        while (i != j) { 
            while (array[j] >= bValue && i < j) { 
                j--; 
            } 
            while (array[i] <= bValue && i < j) { 
                i++; 
            } 
            if (i < j) { 
                tValue = array[i]; 
                array[i] = array[j]; 
                array[j] = tValue; 
            } 
        } 
 
        array[left] = array[i]; 
        array[i] = bValue; 
 
        quickSort(array, left, i - 1); 
        quickSort(array, i + 1, right); 
    } 
 
    public static void main(String[] args) { 
        int a[] = { 6, 2, 4, 5, 1, 9, 10, 7 }; 
        quickSort(a, 0, a.length - 1); 
        for (int v : a) { 
            System.out.print(v + " "); 
        } 
    } 
} 

输入结果:
1 2 4 5 6 7 9 10

参考资料:

http://blog.jobbole.com/11745/

原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/13819.html

(0)
上一篇 2021年7月19日
下一篇 2021年7月19日

相关推荐

发表回复

登录后才能评论