`
huiqinbo
  • 浏览: 344527 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

冒泡方法排序(回钦波个人分析)

阅读更多

package qinbo.hui;

public class HuiQinBo {
 

    public static void main(String args[]){

      int[] values={3,1,6,2,9,0,7,4,5,12,30,11};

      sort(values);

      for(int i=0;i<values.length;i++){//排序后打印数组中的元素

        System.out.println("Index: "+i+"  value: "+values[i]);

      }

    }

    public static void sort(int[] values){

      int temp;

      for(int i=0;i<values.length;i++){//有很多网友问我为什么要有这两次的循环的原因,在下面详解

        for(int j=0;j<values.length-i-1;j++){//比较次数

          if(values[j]>values[j+1]){

            temp=values[j];

            values[j]=values[j+1];

            values[j+1]=temp;
            System.err.print("j 第"+j+"次");
            System.err.println("    i 第"+i+"次");
          }
         

        }

      }

    }

  


}

 

 

回钦波分析:(更多交流、更多了解 QQ:444084929)

 

冒泡排序
最简单的排序方法是冒泡排序方法。这种方法的基本思想是,将待排序的元素看作是竖着排列的“气泡”,较小的元素比较轻,从而要往上浮。在冒泡排序算法中我们要对这个“气泡”序列处理若干遍。所谓一遍处理,就是自底向上检查一遍这个序列,并时刻注意两个相邻的元素的顺序是否正确。如果发现两个相邻元素的顺序不对,即“轻”的元素在下面,就交换它们的位置。显然,处理一遍之后,“最轻”的元素就浮到了最高位置;处理二遍之后,“次轻”的元素就浮到了次高位置。在作第二遍处理时,由于最高位置上的元素已是“最轻”元素,所以不必检查。一般地,第i遍处理时,不必检查第i高位置以上的元素,因为经过前面i-1遍的处理,它们已正确地排好序。这个算法可实现如下。

分享到:
评论

相关推荐

    C语言 冒泡法排序 C语言 冒泡法排序 C语言 冒泡法排序

    C语言 冒泡法排序 C语言 冒泡法排序 C语言 冒泡法排序 C语言 冒泡法排序 C语言 冒泡法排序 C语言 冒泡法排序

    冒泡法排序之过程 冒泡法排序之过程

    7-5 冒泡法排序之过程冒泡法排序之过程冒泡法排序之过程冒泡法排序之过程冒泡法排序之过程冒泡法排序之过程冒泡法排序之过程冒泡法排序之过程冒泡法排序之过程冒泡法排序之过程冒泡法排序之过程冒泡法排序之过程冒泡...

    js冒泡排序 js冒泡排序

    js冒泡排序js冒泡排序js冒泡排序js冒泡排序js冒泡排序js冒泡排序js冒泡排序js冒泡排序js冒泡排序js冒泡排序js冒泡排序js冒泡排序js冒泡排序js冒泡排序js冒泡排序js冒泡排序js冒泡排序js冒泡排序js冒泡排序js冒泡排序...

    冒泡排序及其改进算法C语言实现 冒泡排序及其改进算法C语言实现 冒泡排序及其改进算法C语言实现

    1冒泡排序 2改进的冒泡排序,在一次冒泡的过程中,如果没有发生交换,则已经有序 3进一步改进的冒泡排序,如果在某次冒泡过程中,最后一次进行交换的位置为flag,则表示flag之后的序列已经有序,那么下一次冒泡就...

    冒泡法排序c语言程序冒泡法排序c语言程序

    冒泡法排序c语言程序冒泡法排序c语言程序冒泡法排序c语言程序冒泡法排序c语言程序冒泡法排序c语言程序冒泡法排序c语言程序冒泡法排序c语言程序冒泡法排序c语言程序冒泡法排序c语言程序冒泡法排序c语言程序冒泡法排序...

    java 冒泡排序方法

    ### Java冒泡排序方法详解 #### 一、冒泡排序简介 冒泡排序是一种简单的排序算法,它重复地遍历待排序的数列,依次比较相邻的两个元素,如果它们的顺序错误就把它们交换过来。遍历数列的工作是重复进行的,直到...

    C#四种排序方法--交换排序 选择排序 冒泡排序 插入排序

    交换排序 选择排序 冒泡排序 插入排序

    LabView 冒泡排序实现

    初学LabelView写的冒泡排序。 随机产生数组元素,并进行冒泡排序。

    冒泡排序-排序过程 冒泡排序-排序过程

    #### 四、冒泡排序的时间复杂度分析 冒泡排序的时间复杂度为 O(n^2),其中 n 是数组中元素的数量。具体来说: - **最好情况**:当输入数组已经是有序时,只需要进行一次遍历即可确定数组已有序,时间复杂度为 O(n)...

    冒泡排序算法的C++函数模板

    在实际应用中,冒泡排序算法的C++函数模板可以在许多领域中发挥重要作用,例如数据分析、科学计算、机器学习等。在这些领域中,快速、高效的排序算法可以大大提高计算速度和降低计算成本。 冒泡排序算法的C++函数...

    C++语言的算法实现包括插入排序冒泡排序堆排序快速排序

    本文将深入探讨四种在C++中实现的常见排序算法:插入排序、冒泡排序、堆排序和快速排序。这些算法各有特点,适用于不同的场景,理解并掌握它们对于提升编程能力至关重要。 1. **插入排序**: 插入排序是一种简单的...

    java基础冒泡排序.ppt

    冒泡排序详解,简单而详细的讲清楚了,什么是冒泡排序。 冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。 它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首...

    直接插入排序 选择排序 堆排序 归并排序 快速排序 冒泡排序等

    直接插入排序 选择排序 堆排序 归并排序 快速排序 冒泡排序等七种排序方法

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

    下面将详细讲解这两种排序方法以及它们在C语言中的实现。 **冒泡排序(Bubble Sort)** 冒泡排序是一种简单的排序算法,它重复地遍历待排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历...

    数组03冒泡法排序

    通过上述分析可以看出,本程序实现了一种特殊的冒泡排序算法,即仅对数组进行特定次数(由m指定)的排序操作,而非完整的n-1轮。这种变体可以用于特定场景下的排序需求,但需要注意的是,如果m远小于n-1,排序结果...

    Verilog实现冒泡排序

    冒泡排序是一种基础的计算机排序算法,它的工作原理是通过重复遍历要排序的数列,比较每对相邻元素,如果顺序错误就把它们交换过来。排序过程会重复进行,直到没有需要交换的元素为止,这时数列就完全排序好了。 ...

    java 冒泡排序 数组冒泡排序

    冒泡排序是一种基础且经典的排序算法,它通过不断交换相邻两个元素的位置,使得每一次遍历都能将当前未排序部分的最大(或最小)元素“冒”到已排序部分的末尾。在Java编程语言中,我们可以很容易地实现这个算法。...

    基于C++冒泡排序法

    冒泡排序法是一种基础但重要的排序算法,尤其在学习数据结构和算法的初期阶段,它为理解排序原理提供了直观的示例。C++是广泛应用于系统编程、应用编程、游戏开发等多个领域的强大编程语言,因此用C++实现冒泡排序是...

    冒泡排序 冒泡排序代码示例

    - **分析**:这段代码实现了基本的冒泡排序算法。外层循环控制排序的轮次,内层循环则负责比较并交换相邻元素的位置。每次内层循环结束后,当前未排序部分的最大值都会被移动到最后。 ##### 第二种实现方式 ```cpp ...

    实验3 冒泡排序程序

    冒泡排序是一种基础且经典的排序算法,...在实验3中,你不仅需要实现冒泡排序,还应该尝试分析和理解它的时间和空间复杂度,以及讨论其在不同情况下的优缺点。通过实践,你可以加深对排序算法的理解,并提升编程能力。

Global site tag (gtag.js) - Google Analytics