算法(二)冒泡排序
2014-11-02 10:14
218 查看
在上一篇中我们讨论了选择排序算法,本篇我们一起讨论下关于冒泡排序的算法,他也是属于蛮力算法的一种。
在一个可排序的列表中,我们每一次只比较相邻的元素,如果两者之间为逆序的话,我们就交换,这样我就把最大的元素沉到最底部,接下来我们就可以把第二大元素沉下去,算法直到所有元素漂浮到自己应该在的位置,则结束算法。
由于算法比较次数多,我们在这里只列举出两轮比较,展示给大家,以此类推就可以得出其他的结果:
eg:
第一轮:
89 45 68 90 29 34 17
45 89 68 90 29 34 17
45
68 89 90 29 34 17
45 68 89
29 90 34 17
45 68 89 29
34 90 17
45 68 89 29 34
17 90
第二轮:
45 68
29 89 34 17 90
45 68 29 34 89 17 90
45 68 29 34
17 89 90
It is never too late to be what you might have been.
在一个可排序的列表中,我们每一次只比较相邻的元素,如果两者之间为逆序的话,我们就交换,这样我就把最大的元素沉到最底部,接下来我们就可以把第二大元素沉下去,算法直到所有元素漂浮到自己应该在的位置,则结束算法。
由于算法比较次数多,我们在这里只列举出两轮比较,展示给大家,以此类推就可以得出其他的结果:
eg:
第一轮:
89 45 68 90 29 34 17
45 89 68 90 29 34 17
45
68 89 90 29 34 17
45 68 89
29 90 34 17
45 68 89 29
34 90 17
45 68 89 29 34
17 90
第二轮:
45 68
29 89 34 17 90
45 68 29 34 89 17 90
45 68 29 34
17 89 90
package gzw.pkg1; /** * Created by gzw on 2014/11/2. */ public class BubbleSort { public static void main(String [] agrs){ int i,j,temp; int arry[] = {89,45,68,90,29,34,17}; for(i = 0;i<arry.length-1;i++){ for(j = 0;j<arry.length-1-i;j++){ if(arry[j+1] < arry[j]){ temp = arry[j+1]; arry[j+1] = arry[j]; arry[j] = temp; } } } for(i = 0;i<arry.length;i++){ System.out.print(" "+arry[i]); } } }
It is never too late to be what you might have been.
相关文章推荐
- *冒泡排序及其算法优化分析
- 算法之冒泡排序
- 经典算法学习——单链表实现冒泡排序(带头结点)
- js基本算法:冒泡排序,二分查找的简单实例
- 常见算法:C语言中的排序算法--冒泡排序,选择排序,希尔排序
- 算法与数据结构(十三) 冒泡排序、插入排序、希尔排序、选择排序(Swift3.0版)
- 《一句话算法之冒泡排序》
- 直接插入排序、折半插入排序、冒泡排序、快速排序的算法实现
- 【算法题】冒泡排序
- 白话经典算法系列之一 冒泡排序的三种实现
- 算法 - 冒泡排序(C#)
- c#算法-冒泡排序
- 白话经典算法系列之一 冒泡排序的三种实现
- 算法--冒泡排序 Bubble Sort
- 经典算法与数据结构的c++实现——冒泡排序
- 第16周项目1-验证算法(3)冒泡排序
- 算法(三)初等排序后篇[选择和冒泡排序]
- 算法之冒泡排序
- 白话经典算法系列之一 冒泡排序的三种实现
- 【算法】排序之冒泡排序详解