排序算法

最近整理了一下算法类,便于以后使用。

编程语言:JAVA

/**
 * 名称:冒泡排序
 * 稳定:是
 * 原理:比较相邻两个值的大小排序
 * @param a
 */
public static void BubbleSort(int[] a) {
    int temp = 0;
    for (int i = a.length - 1; i > 0; --i) {
        for (int j = 0; j < i; ++j) {
            if (a[j + 1] < a[j]) {
                temp = a[j];
                a[j] = a[j + 1];
                a[j + 1] = temp;
            }
        }
    }
}

/**
 * 名称:直接插入排序
 * 稳定:是
 * 原理:将数据插入已有的队列的合理位置
 * @param a
 */
public static void InsertionSort(int[] a) {
    int i, j;
    for (i = 0; i < a.length; i++) {
        int temp = a[i];
        for (j = i; j > 0 && temp < a[j - 1]; j--) {
            a[j] = a[j - 1];
        }
        a[j] = temp;
    }

}


你可能感兴趣的:(排序算法)