冒泡算法-bubble

冒泡算法在数据只有几个无序时是最快的算法,但是如果全部无序的话就变成了最慢的算法了,时间复杂度为O(n^2)

public class bubbleSort {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
    int aa[]={2,34,45,6545,6546,234,234,65,6,752,32};
    bubble(aa);
    for(int j=0;j<aa.length;j++){
        System.out.println(aa[j]);

    }
    }

    public  static void bubble(int [] sorted){

        for(int i=0;i<sorted.length;i++){

            for(int k=0;k<sorted.length-1;k++){

                if(sorted[k+1]<sorted[k]){

                    int tmp=sorted[k+1];
                    sorted[k+1]=sorted[k];
                    sorted[k]=tmp;

                }

            }

        }

    }

}
时间: 2024-10-01 06:44:29

冒泡算法-bubble的相关文章

冒泡算法

冒泡算法基本思路: 对尚未排序的各元素从头到尾依次比较相邻的两个元素是否逆序(与欲排顺序相反),若逆序就交换这两元素,经过第一轮比较排序后便可把最大(或最小)的元素排好,然后再用同样的方法把剩下的元素逐个进行比较,就得到了你所要的顺序.可以看出如果有 n 个元素,那么一共要进行 n-1 轮比较,第 i 轮要进行 j=n-i 次比较. 冒泡排序(Bubble Sort) 它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来.走访数列的工作是重复地进行直到没有再需要交换,

冒泡算法实现

冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法.它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来.走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成. 冒泡算法的原理 比较相邻的元素.如果第一个比第二个大,就交换他们两个.对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对.在这一点,最后的元素应该会是最大的数.针对所有的元素重复以上的步骤,除了最后一个.持续每次对越来越少的元素重复上面的步骤,直到没有任何一

1014 C语言文法定义与C程序的推导过程 程序:冒泡算法C程序(语法树)

1014 C语言文法定义与C程序的推导过程  程序:冒泡算法C程序(语法树)1 阅读并理解提供给大家的C语言文法文件. 2 参考该文件写出一个自己好理解版的现实版的完整版的C语言文法. 3 给出一段C程序,画出用上述文法产生这段C程序的完整语法树. 程序:冒泡算法C程序 点此文字查看原图(完整图片) 1 #include <stdio.h> 2 3 main() 4 { 5 int i,j,temp; 6 int a[10]; 7 8 for(i=0;i<10;i++) 9 scanf

Python函数之冒泡算法

冒泡算法 1. data = [4,3,2,1] count = 0 for i in range(0, len(data)): #len(data)代表的是列表的总长度 #取外层函数的第一个值进行循环 for j in range(i + 1, len(data)): #把外层循环的第一个值跟所有的内层循环的值比较一遍,并跟换位置,沉低 count += 1 if data[j] < data[i]: tmp = data[j] data[j] = data[i] data[i] = tmp

阶乘求和与冒泡算法编程

编程题是写1!+2!+...+10!: 冒泡算法编程

python冒泡算法,lambda表达式

======================================================================== 冒泡算法 (个人理解类似于IP互换方案方式,或者被老师成为小鱼冒泡泡) 如何将列表内的数字进行排序呢? 方法1(需要递归) li =[5,4,3,2,6]                 #定义一个列表 print li                            #调试打印出列表 for m in range(4):          #通

关于冒泡算法

首先冒泡算法就是每次把最大的找出来,冒泡出去,但是有2种不同实现. 第一: public class Test12{     public static void main(String[] args){/*         int score[] = {67, 88, 45, 87, 29, 99, 109, 100};         for (int i = 0; i < score.length -1; i++){    //最多做n-1趟排序             for(int j

Python 第五篇:冒泡算法、系统标准模块

一:冒泡算法,也叫冒泡排序,其特点如下: 1.比较相邻的元素.如果第一个比第二个大,就交换他们两个. 2.对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对.在这一点,最后的元素应该会是最大的数. 3.针对所有的元素重复以上的步骤,除了最后一个. 4.持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较. 使用python的冒泡排序完成一组无序队列的排序: data = [10,4,33,21,54,3,8,11,5,22,2,2,2,1,17,13,6] print(d

Python之冒泡算法

有如下列表,要求从左到右顺序排序 li = [13,22,6,99,11] 实现方法: li = [13,22,6,99,11]print "##########原始数字顺序################"print liprint "#########开始第一次排序############3"for m in range(4):    num1 = li[m]    num2 = li[m+1]    if num1>num2:       tmp = l