Top

四种经典排序

快速排序法:

​ 快速排序法主要是运用了Arrays中的一个方法Arrays.sort()实现。

int[] a = { 5, 4, 2, 4, 9, 1 };
Arrays.sort(a); // 进行排序
for (int i : a) {
    System.out.print(i);
}

冒泡排序算法

​ 冒泡法对相邻的元素进行两两比较,顺序相反则进行交换,这样,每一趟会将最小或最大的元素“浮”到顶端,最终达到完全有序

src=http___images0.cnblogs.com_blog2015_546931_201506_041007386648379.jpg&refer=http___images0.cnblogs

int[] a = { 3, 6, 4, 2, 11, 10, 5 };
// 外层循环控制趟数,总趟数为length-1
for (int i = 0; i < a.length - 1; i++) {
    // 内层循环为当前i趟数 所需要比较的次数
    for (int j = 0; j < a.length - 1 - i; j++){
        if (a[j] > a[j + 1]) {
            int temp = a[j]; // 交换位置之前,先把原有的值存放在变量中
            a[j] = a[j + 1];
            a[j + 1] = temp;
        }
    }
}

选择排序法:

​ 选择排序法是最简单直观的一种算法,基本思想为每一趟从待排序的数据元素中选择最小(或最大)的一个元素作为首元素,直到所有元素排完为止。

image-20210521223916603

int[] a = { 5, 4, 2, 4, 9, 1 };
for (int i = 0; i < a.length - 1; i++) {
    int min = i;
    for (int j = i + 1; j < a.length; j++) {
        if (a[min] > a[j]) {
            min = j;
        }
    }
    if (min != i) {
        int temp = a[i];
        a[i] = a[min];
        a[min] = temp;
    }
}

插入排序:

​ 插入排序基本思想是每一步将一个待排序的记录,插入到前面已经排好序的有序序列中去,直到插完所有元素为止。

a

int[] a = { 5, 4, 2, 4, 9, 1 };
for (int i = 1; i < a.length; i++) {
    for (int j = i; j > 0; j--) {
        if (a[j] < a[j - 1]) {
            int temp = a[j - 1];
            a[j - 1] = a[j];
            a[j] = temp;
        } else{
            break;
        }
    }
}

标签: 快速排序法, 冒泡排序算法, 选择排序算法, 插入排序算法

版权类型: 原创

版权声明: 转载时请注明出处和链接地址

文章链接: https://smallchild.cn/38.html

添加新评论