算法——冒泡排序

Posted Java学习基地Java毕设定制

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了算法——冒泡排序相关的知识,希望对你有一定的参考价值。

算法步骤:

1.比较前后相邻的二个数据,如果前面数据大于后面的数据,就将这二个数据交换。

2.这样对数组的第 0 个数据到 N-1 个数据进行一次遍历后,最大的一个数据就“沉”到数组第N-1 个位置。

3.N=N-1,如果 N 不为 0 就重复前面二步,否则排序完成

动画演示:

代码部分:

public class 冒泡排序 { public void bubbleSort1(int [] a){ //数组的长度 int N = a.length - 1; //需要N交换,才能得到有序数组 while (N != 0){ //对相邻的两个元素进行交换 for (int i = 0; i < N; i++) { if (a[i] > a[i+1]){ //交换相邻两个元素 int tmp = a[i]; a[i] = a[i+1]; a[i+1] = tmp; } } //去掉最后的原元素不比较 N--; } }
public static void main(String[] args) { 冒泡排序 mp = new 冒泡排序(); int [] a = {1,4,7,3,5,9,6,10,50,49,38} ; mp.bubbleSort1(a); for (int i = 0; i < a.length; i++) { System.out.print(a[i]); System.out.print("--->"); } }}

以上是关于算法——冒泡排序的主要内容,如果未能解决你的问题,请参考以下文章

排序算法之冒泡选择插入排序(Java)

排序算法_冒泡排序(算法设计与C代码实现)

冒泡排序算法原理和代码实现,就是这么简单。。。

三大基础排序算法(冒泡排序,选择排序,插入排序)

交换排序(冒泡排序快速排序的算法思想及代码实现)

算法漫游指北(第七篇):冒泡排序冒泡排序算法描述动图演示代码实现过程分析时间复杂度和选择排序算法描述动图演示代码实现过程分析时间复杂度