`
高级java工程师
  • 浏览: 408091 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

冒泡讲解和冒泡实现

J# 
阅读更多
基本概念
冒泡排序的基本概念是:依次比较相邻的两个数,将小数放在前面,大数放在后面。即首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。重复以上过程,仍从第一对数开始比较(因为可能由于第2个数和第3个数的交换,使得第1个数不再大于第2个数),将小数放前,大数放后,一直比较到最小数前的一对相邻数,将小数放前,大数放后,第二趟结束,在倒数第二个数中得到一个新的最小数。如此下去,直至最终完成排序。
由于在排序过程中总是小数往前放,大数往后放,相当于气泡往上升,所以称作冒泡排序。
用二重循环实现,外循环变量设为i,内循环变量设为j。外循环重复9次,内循环依次重复9,8,...,1次。每次进行比较的两个元素都是与内循环j有关的,它们可以分别用a[j]和a[j+1]标识,i的值依次为1,2,...,9,对于每一个i, j的值依次为1,2,...10-i。



package Class;

public class BubbleSort {



public static void sort(int[] data) {  
        int temp;  
       for (int i = 0; i < data.length; i++) {  
           for (int j = data.length - 1; j > i; j--) {  
               if (data[i] > data[j]) {  
                    temp = data[i];  
                   data[i] = data[j];  
                    data[j] = temp;  
                }  
            }  
        }  
   }  
 
    public static void main(String[] args) {  
        int[] a = { 4, 2, 3, 1, 5 };  
        sort(a);  
        for (int i = 0; i < a.length; i++)  
            System.out.print(a[i] + " ");  
   }  

}
  • 大小: 75.7 KB
分享到:
评论

相关推荐

    冒泡排序及讲解

    在本案例中,我们有一个Java实现的冒泡排序程序和一个讲解文档。 首先,让我们详细了解一下冒泡排序的工作原理。冒泡排序的核心在于一个嵌套循环结构,外层循环控制排序的轮数,内层循环则负责每一轮的比较和交换。...

    冒泡排序讲解.pptx

    冒泡排序讲解 冒泡排序是一种简单的排序算法,通过对相邻元素进行两两比较,顺序相反则进行交换,以达到完全有序的目的。下面是冒泡排序的详细知识点: 1.冒泡排序的定义:冒泡排序是一种简单的排序算法,通过对...

    S7-200SMART间接寻址实现冒泡排序并制作可重复调用的库文件.docx

    本文将详细讲解如何利用S7-200SMART的间接寻址方式来实现冒泡排序算法,并制作成可重复调用的库文件。 冒泡排序是一种简单的排序算法,它重复地遍历待排序的数列,一次比较两个元素,如果他们的顺序错误就把他们...

    冒泡算法讲解

    C语言冒泡算法视频讲解,两个积分买不了上当、买不了受骗……

    冒泡排序和选择排序_C语言_冒泡排序_选择排序_

    冒泡排序和选择排序是两种基础的排序算法,在计算机科学中有着广泛的应用,尤其是在学习编程语言如C语言时,理解并能实现这两种排序算法是非常重要的。下面将详细讲解这两种排序方法以及它们在C语言中的实现。 **...

    冒泡排序的C语言实现

    首先,我们来详细讲解冒泡排序的原理。冒泡排序的核心思想是两两比较相邻元素,如果它们的顺序错误(即前一个元素大于后一个元素),就交换这两个元素的位置。这个过程会重复遍历数组,每次遍历都会确保最大的元素被...

    冒泡排序算法原理讲解

    该 ppt 为课程讲义,讲解冒泡排序算法原理,及用一个简单实例进行具体分析,还有冒泡排序算法原理的总结等。

    事件冒泡排序VI

    本教程将详细讲解如何利用LabVIEW的事件结构来实现冒泡排序功能。 首先,理解冒泡排序的基本原理至关重要。冒泡排序的工作方式是通过重复遍历待排序的数列,比较相邻元素并根据需要交换它们的位置。如果前一个元素...

    java 冒泡排序法 PPT文档

    通过学习这个PPT,你将能够理解冒泡排序的基本思想,掌握其Java实现,以及在不同场景下的应用和优化。如果你是初学者,这个PPT将帮助你打下坚实的算法基础;如果你是经验丰富的开发者,回顾这些基础知识也会有助于...

    冒泡排序法的实现PPT教程

    在VC++环境下实现冒泡排序,首先需要理解C++的基本语法和数据结构。你可以创建一个整型数组来存储待排序的数据,然后利用for循环进行多次遍历。每次遍历中,再用一个内层循环来比较并交换相邻的元素。以下是一个简单...

    冒泡排序-使用python实现的冒泡排序算法.zip

    文件名“冒泡排序_使用python实现的冒泡排序算法”表明压缩包内的资源可能包括详细讲解、代码示例或者练习题目,帮助学习者理解和掌握冒泡排序的Python实现。 总的来说,冒泡排序是排序算法的基础,通过Python实现...

    java冒泡排序泡排序的详细讲解

    总的来说,冒泡排序是一种直观且易于理解的排序方法,虽然在效率上不如其他高级排序算法(如快速排序、归并排序等),但它仍然是算法学习过程中的一个重要组成部分,帮助我们理解排序的基本逻辑和过程。

    Scratch冒泡排序 Scratch排序算法讲解 Scratch高阶编程

    此案例难度系数4,属于Scratch高级...了解选择排序和冒泡排序的区别 案例演示视频:https://www.bilibili.com/video/BV1Z3411x7yX/ 案例详细教程参考博客:https://scratch.blog.csdn.net/article/details/122109146

    JAVA冒泡排序和快速排序算法

    首先,我们来详细讲解冒泡排序。冒泡排序是一种简单直观的排序算法,它的基本思想是通过重复遍历待排序的数列,依次比较相邻元素并交换位置,使得较大的元素逐渐“浮”到数列的末尾,就像水底下的气泡逐渐升至水面...

    冒泡排序与选择排序详细讲解

    首先,我们来详细讲解冒泡排序。冒泡排序通过重复遍历待排序的数列,比较相邻元素的大小,将较大的元素向后交换,就像水底下的气泡逐渐上浮一样,因此得名“冒泡排序”。具体步骤如下: 1. 比较相邻的元素,如果前...

    汇编语言实现冒泡排序(一).pdf

    汇编语言实现冒泡排序 ...本文详细讲解了汇编语言实现冒泡排序的知识点,包括冒泡排序算法、CS单片机、汇编语言、寄存器的使用、冒泡排序的实现、子程序的使用、字符串的输出、循环的使用和堆栈的使用等。

    常用排序算法的java实现(冒泡、插入、选择、希尔、归并、快排)

    本篇文章将详细讲解标题中提到的六种常见排序算法的Java实现。 1. **冒泡排序**:冒泡排序是最基础的排序算法之一,它通过不断交换相邻的逆序元素来逐渐将较大的元素“浮”到数组的前端。在Java中,冒泡排序的基本...

    数据结构课程冒泡排序讲义PPT学习教案.pptx

    2. 使用实例讲解,讲解冒泡排序的原理和算法设计。 3. 使用思考题,鼓励学生思考和讨论冒泡排序的实现和应用。 冒泡排序是一种简单而有效的排序算法,对于小规模的数据排序非常快速和实用。通过学习冒泡排序,我们...

    java 冒泡排序法

    通过以上讲解,我们可以看出冒泡排序虽然简单,但它的效率并不高,时间复杂度为O(n²),适用于小规模或部分有序的数据。在实际开发中,更常见的选择是使用快速排序、归并排序等效率更高的算法。然而,了解冒泡排序...

    java基础 经典算法之冒泡排序详解

    1.冒泡排序的原理:每次都从第一个元素开始(索引0),向后两两比较,只要后面的比前面的大,就交换(从大到小) 2.通过画图分析,5个数字排4趟,n数字排n-1趟,而外层的for循环代表的是循环的趟数,所以外层循环的结束条件是...

Global site tag (gtag.js) - Google Analytics