美文网首页
内存排序(一)——冒泡排序

内存排序(一)——冒泡排序

作者: 旺叔叔 | 来源:发表于2019-03-22 14:20 被阅读0次

核心过程

将一个数组,从头到尾遍历,每次比较相邻两个数,如果某个位置数小于右方相邻数,交换之。
结果:将最大的数,放到了数组最后。

public static void bubbleSortCore(int[] list, int begin, int end){
    for (int i = begin; i < end - 1; i++) {
        if(list[i] > list[i + 1]){
            int temp = list[i];
            list[i] = list[i + 1];
            list[i + 1] = temp;
        }
    }
}

迭代过程

迭代过程是与核心过程强相关的,不同的核心思想,需要用不同的方式迭代。
冒泡的迭代过程很简单。
既然每次都把最大的数放最后,那么“去掉”数组最后的数,再进行一次核心过程就好。

public static void bubbleSortIteration(int[] list){
    for (int i = list.length; i >= 0 ; i--) {
        bubbleSortCore(list, 0, i);
    }
}

合并两过程的写法

public static void bubbleSort(int[] list){
    for (int i = list.length; i >= 0 ; i--) {
        for (int j = 0; j < i - 1; j++) {
            if(list[j] > list[j + 1]){
                int temp = list[j];
                list[j] = list[j + 1];
                list[j + 1] = temp;
            }
        }
    }
}

相关文章

  • 数据结构与算法(二)

    排序算法 1.内部排序:数据记录在内存中进行排序 常见的内部排序算法有:插入排序、希尔排序、选择排序、冒泡排序、归...

  • 内存排序(一)——冒泡排序

    核心过程 迭代过程 合并两过程的写法

  • dailyLearning -- 排序算法

    目录: 冒泡排序 快速排序 选择排序 插入排序 归并排序 冒泡排序 冒泡排序(Bubble Sort),是一种计算...

  • 排序算法

    排序算法 冒泡排序 选择排序 直接插入排序 希尔排序 堆排序 归并排序 快速排序 冒泡排序 冒泡排序是一种交换排序...

  • 详解排序算法--插入排序和冒泡排序

    冒泡排序插入排序插入排序和冒泡排序分析 冒泡排序 冒泡排序(英语:Bubble Sort,台湾另外一种译名为:泡沫...

  • PHP学习之排序

    排序分为内部排序和外部排序内部排序:所有数据都加载到内存当中。主要方法有冒泡法、选择排序法、插入式排序法和快速排序...

  • 了解一下什么是外部排序算法

    以前我们学习的排序算法,比如冒泡排序、插入排序、快速排序等都是属于内部排序,即所有排序操作都是在内存中完成。然而如...

  • 算法-冒泡排序

    算 法:冒泡排序算法时间复杂度: 冒泡排序算法概述 冒泡排序伪代码 冒泡排序实现 冒泡排序算法概述 冒泡排...

  • 排序算法

    常见的排序算法有: 冒泡排序 快速排序 插入排序 归并排序 堆排序 1. 冒泡排序 冒泡排序是一种极其简单的排序算...

  • 七大排序算法之冒泡排序

    七大排序算法之冒泡排序 @(算法笔记)[排序算法, 冒泡排序, C++实现] 冒泡排序介绍 冒泡排序是七大排序算法...

网友评论

      本文标题:内存排序(一)——冒泡排序

      本文链接:https://www.haomeiwen.com/subject/lnnlvqtx.html