美文网首页
算法学习:冒泡排序

算法学习:冒泡排序

作者: DreamFish | 来源:发表于2017-07-14 22:42 被阅读0次
  • 背景介绍
    是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。----- 来自 wikipedia

  • 算法规则
    由于算法每次都将一个最大的元素往上冒,我们可以将待排序集合(0...n)看成两部分,一部分为(k..n)的待排序unsorted集合,另一部分为(0...k)的已排序sorted集合,每一次都在unsorted集合从前往后遍历,选出一个数,如果这个数比其后面的数大,则进行交换。完成一轮之后,就肯定能将这一轮unsorted集合中最大的数移动到集合的最后,并且将这个数从unsorted中删除,移入sorted中。

  • 代码实现(Java版本)

public void bubbleSort(int[] args)  {
    //第一层循环从数组的最后往前遍历
    for (int i = args.length - 1; i > 0 ; --i) {
    //这里循环的上界是 i - 1,在这里体现出 “将每一趟排序选出来的最大的数从sorted中移除”
        for (int j = 0; j < i; j++) {
          //保证在相邻的两个数中比较选出最大的并且进行交换(冒泡过程)
            if (args[j] > args[j+1]) {
                int temp = args[j];
                args[j] = args[j+1];
                args[j+1] = temp;
             }
         }
      }
 }

相关文章

  • 算法入门——冒泡排序、选择排序

    上篇文章学习了算法入门——顺序查找、二分查找,这篇文章我们学习算法入门——冒泡排序、选择排序。 冒泡排序 冒泡排序...

  • 算法-冒泡排序

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

  • 经典排序算法总结

    经典排序算法集锦 冒泡法 排序算法入门之冒泡排序 排序算法入门之冒泡排序优化

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

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

  • 前端算法学习-第一篇

    冒泡排序算法 冒泡排序算法是最慢的排序算法之一,也是最容易实现的排序算法。之所以叫冒泡排序是因为使用这种算法排序时...

  • Python算法--排序-冒泡排序

    一、冒泡排序 我们在学校都学习过排序算法,这些排序算法中就有一个我们常提到的冒泡排序(Bubble Sort)。 ...

  • iOS算法总结-冒泡排序

    iOS算法总结-冒泡排序 iOS算法总结-冒泡排序

  • 排序算法学习02_冒泡排序

    冒泡排序 学习目标:掌握冒泡排序算法的原理和思想 一、前提知识   排序算法概念、时间复杂度。可前往此网址 ...

  • 2019-02-21

    冒泡排序 冒泡排序是我们在编程算法中,算是比较常用的排序算法之一,在学习阶段,也是最需要接触理解的算法,所以我们放...

  • 冒泡排序

    人们开始学习排序算法时,通常都先学冒泡算法,因为它在所有排序算法中最简单。然而,从运行时间的角度来看,冒泡排序是最...

网友评论

      本文标题:算法学习:冒泡排序

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