Java中的冒泡排序原理及实现方法

原创 2015年11月18日 23:31:56

冒泡排序

1、原理:每一次循环都两两比较,直到最后,如下图就是两次循环的比较方式

(以上图片网络借用)

2、代码:

public class BubbleSortTest

{
//冒泡排序法
public static void bubbleSort(int[] a)
{
for(int i = 0; i < a.length - 1; i++)//没循环一次就少一个数
{
for(int j = 0; j < a.length - i - 1; j++)
{
if(a[j] > a[j + 1])
{
int temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp; 
}
}

System.out.println("第" + (i + 1) + "趟排序");

for(int k = 0; k < a.length; k++)
{
System.out.print(a[k] + " ");
}

System.out.println();
}
}

public static void main(String[] args)
{
int[] array = {4,7,8,9,3,2};

bubbleSort(array);

/*
for(int i = 0; i < array.length; i++)
{
System.out.print(array[i] + " ");
}
*/
}
}

【排序算法】冒泡排序原理及Java实现

冒泡排序顾名思义就是整个过程像气泡一样往上升,单向冒泡排序的基本思想是(假设由小到大排序):对于给定n个记录,从第一个记录开始依次对相邻的两个记录进行比较,当前面的记录大于后面的记录时,交换位置,进行...
  • jianyuerensheng
  • jianyuerensheng
  • 2016年04月26日 21:26
  • 7242

程序员必知的8大排序(三)-------冒泡排序,快速排序(java实现)

接上一篇:程序员必知的8大排序(二)-------简单选择排序,堆排序(java实现)   5.冒泡排序 (1)基本思想:在要排序的一组数中,对当前还未排好序的范围内的全部数,自上而下对相邻的两个数依...
  • pzhtpf
  • pzhtpf
  • 2012年05月12日 15:22
  • 269761

冒泡排序算法原理及JAVA实现

冒泡排序法:关键字较小的记录好比气泡逐趟上浮,关键字较大的记录好比石块下沉,每趟有一块最大的石块沉底。 算法本质:(最大值是关键点,肯定放到最后了,如此循环)每次都从第一位向后滚动比较,使最大值沉底...
  • xuxurui007
  • xuxurui007
  • 2012年06月07日 00:37
  • 5278

java冒泡排序及原理

昨天去面试,HR问我关于算法和数据结构的问题,结构连个冒泡排序我都给写错了,特意回来研究了下原理,免得以后又忘了; 首先定义一个n个数据的数组array[]; 然后根据冒泡排序的基本思想: 1.相邻的...
  • lingfeng2a
  • lingfeng2a
  • 2013年09月19日 22:10
  • 1353

排序算法之冒泡排序的思想以及Java实现

1 基本思想 设排序表长为n,从后向前或者从前向后两两比较相邻元素的值,如果两者的相对次序不对(A[i-1] > A[i]),则交换它们,其结果是将最小的元素交换到待排序序列的第一个位置,我们称它...
  • whq19890827
  • whq19890827
  • 2016年08月14日 21:12
  • 1510

冒泡排序算法 Java 实现过程及详解

冒泡排序(Bubble Sort)是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已...
  • youcharming
  • youcharming
  • 2014年12月25日 23:23
  • 3429

Java 冒泡排序

注:文章转自http://www.cnblogs.com/wuzhenbo/archive/2012/03/30/2423861.html 冒泡排序(Bubble Sort)是一种简单的排序...
  • yyywyr
  • yyywyr
  • 2012年10月16日 08:52
  • 34426

Java 简单排序--冒泡排序

抛砖引玉。。。。 冒泡排序: 核心思想是从头开始让相邻的两个元素进行比较,符合条件就交换位置,这样就把最大值或者最小值放到数组的最后面了; 接着再从头开始两两比较交换,直到把最大值或者最...
  • naruto_ping
  • naruto_ping
  • 2016年10月29日 20:55
  • 5703

Java排序算法之冒泡排序和选择排序

前言:纵然伤心,也不要愁眉不展,因为你不知是谁会爱上你的笑容。——泰戈尔 《飞鸟集》 原文出处: import java.util.Arrays; class Demo { public...
  • u014158743
  • u014158743
  • 2016年09月19日 23:14
  • 684

[排序算法]--冒泡排序的三种实现(Java)

冒泡排序是非常好理解的,以从小到大排序为例,每一轮排序就找出未排序序列中最大值放在最后。 设数组的长度为N: (1)比较前后相邻的二个数据,如果前面数据大于后面的数据,就将这二个数据交换。(2)这样...
  • u010853261
  • u010853261
  • 2017年02月06日 12:53
  • 4811
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Java中的冒泡排序原理及实现方法
举报原因:
原因补充:

(最多只允许输入30个字)