冒泡排序和选择排序

简介:

冒泡排序

  • 可以说是最简单的一种排序了,其排序的流程是

    • 对比数组中的各个数据,依次比较相邻的两个元素的大小
    • 如果前面的数据大于后面的数据,就交换这两个数据,如下

markdown_img_paste_20181218104721531

  • 这只是一次排序过程的结果,目前数组内的数据还不是有序的,但是已经把最大值给确定了,所以还需要多次排序,所以可以看出冒泡排序并不是高效的排序算法
  • 排序算法的java实现

    private static void mp(int[] arrs) {
            int tmp ;
            for (int i = 1; i < arrs.length; i++) {
                for (int j = 0; j < arrs.length - i; j++) {
                    if (arrs[j] > arrs[j+1]){
                        tmp = arrs[j];
                        arrs[j] = arrs[j+1];
                        arrs[j+1] = tmp;
                    }
                }
            System.out.println(Arrays.toString(arrs));
            }
        }
  • 输出的排序过程为

    [12, 37, -2, 3, 999]
    [12, -2, 3, 37, 999]
    [-2, 3, 12, 37, 999]
    [-2, 3, 12, 37, 999]

选择排序

  • 这也是比较简单的一种排序算法,主要的流程是

    • 遍历数组取数组内最小的数据与数组的0下标进行交换,这样就确定了最小值
    • 然后从下标1之后的数据中找出最小值与下标为1的数据进行交换,就确定了第二小的数据,依次就完成了排序过程

markdown_img_paste_20181218110731133

  • 排序算法的java实现

    public static void xz(int[] arrs){
        int index ,temp = 0;
        for (int i = 0; i < arrs.length; i++) {
            index = i;
            for (int j = i; j < arrs.length; j++) {
                if (arrs[j] < arrs[index]){
                    index = j;//寻找最小数下标
                }
            }
            //判断最小数是否是自己
            if (index != i){
                temp = arrs[index];
                arrs[index] = arrs[i];
                arrs[i] = temp;
            }
        }
        System.out.println(Arrays.toString(arrs));
    }
    • 输出的排序过程为

      [-2, 12, 37, 999, 3]
      [-2, 3, 37, 999, 12]
      [-2, 3, 12, 999, 37]
      [-2, 3, 12, 37, 999]
      [-2, 3, 12, 37, 999]
目录
相关文章
|
4月前
|
算法 搜索推荐 C++
C++017-C++冒泡排序与插入排序
C++017-C++冒泡排序与插入排序
C++017-C++冒泡排序与插入排序
|
6月前
冒泡排序和选择排序
冒泡排序和选择排序
|
10月前
|
存储 搜索推荐 Java
【排序算法】冒泡排序、选择排序、插入排序
【排序算法】冒泡排序、选择排序、插入排序
74 0
【排序算法】冒泡排序、选择排序、插入排序
|
10月前
|
算法 搜索推荐
冒泡排序与选择排序详解
冒泡排序与选择排序详解
|
11月前
|
搜索推荐
冒泡排序,选择排序,直接插入排序
🐰冒泡排序 🐰选择排序 🐰直接插入排序
|
算法 搜索推荐 索引
03_1排序算法:冒泡排序、选择排序、插入排序
03_1排序算法:冒泡排序、选择排序、插入排序
134 0
03_1排序算法:冒泡排序、选择排序、插入排序
冒泡排序、插入排序、选择排序
冒泡排序、插入排序、选择排序
冒泡排序,选择排序,插入排序
冒泡排序,选择排序,插入排序
|
搜索推荐 算法
排序算法-冒泡排序和选择排序
排序算法-冒泡排序和选择排序
排序算法-冒泡排序和选择排序