`
mixer_a
  • 浏览: 369047 次
社区版块
存档分类
最新评论

排序算法第四篇——冒泡排序

 
阅读更多

算法描述:

依次比较相邻的两个数,将小数放在前面,大数放在后面。即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。至此第一趟结束,将最大的数放到了最后。在第二趟:仍从第一对数开始比较(因为可能由于第2个数和第3个数的交换,使得第1个数不再小于第2个数),将小数放前,大数放后,一直比较到倒数第二个数(倒数第一的位置上已经是最大的),第二趟结束,在倒数第二的位置上得到一个新的最大数(其实在整个数列中是第二大的数)。如此下去,重复以上过程,直至最终完成排序。

Java源代码:

运行结果:

排序前:
788 754 434 515 519 579 354 979 94 535
第1次冒泡...
94 788 754 434 515 519 579 354 979 535
第2次冒泡...
94 354 788 754 434 515 519 579 535 979
第3次冒泡...
94 354 434 788 754 515 519 535 579 979
第4次冒泡...
94 354 434 515 788 754 519 535 579 979
第5次冒泡...
94 354 434 515 519 788 754 535 579 979
第6次冒泡...
94 354 434 515 519 535 788 754 579 979
第7次冒泡...
94 354 434 515 519 535 579 788 754 979
第8次冒泡...
94 354 434 515 519 535 579 754 788 979
排序已经完成!
该算法的时间复杂度为O(n2),排序算法具有稳定性。

分享到:
评论

相关推荐

    算法可视化系列——排序算法——冒泡排序

    冒泡排序是一种基础且经典的排序算法,其工作原理是通过重复遍历待排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成...

    常用排序算法——冒泡 选择 插入 快速

    排序算法之冒泡、选择、插入、快速排序 ...冒泡排序、选择排序、插入排序、快速排序是四种常用的排序算法,每种算法都有其优缺点和适用场景。了解这些算法的基本思想和实现细节,可以帮助我们更好地解决实际问题。

    排序——冒泡排序,直接排序,反转排序

    这里我们将深入探讨三种常见的排序算法:冒泡排序、直接排序(也称为插入排序)以及反转排序。这些算法虽然简单,但在理解排序原理和优化算法性能方面具有重要意义。 1. 冒泡排序: 冒泡排序是最基础的排序算法之一...

    8种排序算法(选择排序 冒泡排序 快速排序等~)

    这里有8种常见的排序算法,包括选择排序、冒泡排序和快速排序等。这些算法各有特点,适用于不同的场景,理解并掌握它们对于编程和数据处理至关重要。 1. **选择排序(Selection Sort)** 选择排序是一种简单直观的...

    排序算法介绍——冒泡排序+插入排序+选择排序

    本文将重点介绍三种基础的排序算法:冒泡排序、插入排序和选择排序。 首先,我们来看冒泡排序。冒泡排序是一种简单的排序算法,其基本思想是通过重复遍历数组,比较相邻的两个元素并根据需要交换它们的位置,使得每...

    (陈慧南 第3版)算法设计与分析——课后习题答案(1~8章)

    4. **第四章:搜索算法** 搜索算法是解决问题的关键,包括深度优先搜索、广度优先搜索、二分查找、回溯法等。这一章还会讨论这些算法在解决实际问题中的应用,如迷宫求解、图的遍历等。 5. **第五章:图算法** ...

    最快的排序算法 图解八大排序算法——我见过的最详细的讲解(转),排序算法数据结构

    选择排序是一种简单的排序算法,思路是选择数组中的最小元素,和第一个元素交换,然后在剩下的元素中选择最小元素,和第二个元素交换,以此类推,直到排序完成。时间复杂度为 O(n^2),空间复杂度为 O(1)。Java 代码...

    冒泡与插入排序 两个排序算法

    本文将深入探讨两种基本的排序算法——冒泡排序与插入排序,通过对这两种算法的核心思想、实现原理以及优缺点进行详细分析,帮助读者更全面地理解其在实际应用中的地位和作用。 ### 冒泡排序 冒泡排序是一种简单的...

    用C语言实现常用排序算法

    本项目旨在实现并比较六种经典的排序算法——直接插入排序、折半插入排序、起泡排序、简单选择排序、堆排序以及2-路归并排序,使用C语言编程。为了全面评估这些算法,我们将在一组随机生成的30000个整数上运行它们,...

    冒泡排序——C++代码

    冒泡排序是一种基础的排序算法,它通过重复遍历待排序的序列,比较相邻元素并交换位置来达到排序的目的。这个过程就像水底下的气泡一样逐渐上浮,因此得名“冒泡排序”。在本案例中,我们讨论的是用C++实现冒泡排序...

    《Java数据结构和算法》学习笔记(2)——4种简单排序算法

    本文将深入探讨四种简单的排序算法:插入排序、冒泡排序、选择排序。这些算法虽然在复杂度上不如高级排序算法如快速排序或归并排序,但它们提供了基础的排序逻辑,有助于理解更复杂的算法思想。 首先,我们来详细...

    《C++_JAVA集中上机》实习报告——图示冒泡排序.pdf

    《C++/JAVA集中上机》实习报告——图示冒泡排序.pdf 本文档是关于C++/JAVA集中上机的实习报告,主要介绍了图示冒泡排序算法的设计和实现。下面是从标题、描述、标签和部分内容中提取的相关知识点: 一、课程设计的...

    算法与数据结构——c语言版+张乃孝

    书中可能涵盖了排序算法(如冒泡排序、插入排序、快速排序、归并排序)、查找算法(如线性搜索、二分查找)以及图算法(如深度优先搜索、广度优先搜索)等。这些基本算法的理解和熟练运用是每个程序员必备的技能。 ...

    算法设计与分析——C++ 语言描述[陈慧南编][电子教案].

    3. **第五章:排序算法** - 排序是计算机科学中最常见的问题,本章会介绍多种排序算法,如冒泡排序、选择排序、插入排序、快速排序、归并排序等,通过比较它们的时间复杂度和空间复杂度,理解不同排序方法的适用场景...

    8种基本排序算法2015上

    根据提供的信息,我们可以总结出以下关于八种基本排序算法中的两种——冒泡排序(Bubble Sort)与插入排序(Insert Sort)的知识点。 ### 冒泡排序(Bubble Sort) #### 定义 冒泡排序是一种简单的排序算法。它...

    数组排序中的(选择,冒泡)

    本文将深入探讨两种常见的排序算法——选择排序和冒泡排序,并结合给定的文件信息进行解析。 首先,选择排序是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,...

    第四章 简单排序(C++)_PDF(2020.06.10).rar

    首先,我们来讨论最基本的排序算法——冒泡排序。冒泡排序通过重复遍历待排序的数列,比较每对相邻元素,如果顺序错误则交换,直到遍历结束为止。它的主要优点是实现简单,但对于大数据集来说,效率较低。 接下来是...

    php-使用php开发的排序算法之BubbleSort-排序算法实现.zip

    本资料主要探讨了如何在PHP中实现一种经典的排序算法——冒泡排序(Bubble Sort)。冒泡排序是一种简单直观的排序方法,它重复地遍历待排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列...

    用c#语言编写的快速排序,冒泡排序,插入排序,选择排序,递归算法

    这里有四种常见的排序算法:快速排序、冒泡排序、插入排序和选择排序,以及一种常见的编程技术——递归算法。下面将对这些知识点进行详细解释。 **快速排序**: 快速排序是一种高效的排序算法,由C.A.R. Hoare在...

Global site tag (gtag.js) - Google Analytics