返回首页
当前位置: 主页 > 网络编程 > Jsp实例教程 >

冒泡排序BubbleSort实现代码

时间:2013-08-03 00:35来源:知行网www.zhixing123.cn 编辑:麦田守望者

冒泡排序也是常用的排序方法之一,他的优点在于可读性好,容易编程实现。他的原理是,对于长度为n的数组,做n-1趟比较,每一趟比较,依次比较前后两数,小的数往前放,大的数往后放,相当于气泡往上升,所以叫冒泡排序。每一趟依次找出数组中最大的数,因此,每趟可以依次少比较一个数,只需比较到n-i+1个数即可。

package sort;

/**
* 冒泡排序
* @author lihui
*
*/
public class BubbleSort {

/**
* @param args
*/
public static void main(String[] args) {
// int[] a = {2,5,3,4,1,0};
int[] a = {5,3,1,1,3,0,2};
sorted(a);
for(int i=0;i<a.length;i++) {
System.out.println(a[i]);
}

}

/**
* 冒泡排序,进行n-1趟比较,第一趟,比较第一个跟第二个元素的大小,如果第一个比第二个大,
* 则交换两数,然后再比较第二个跟第三个数的大小,一直比较到最后一个元素,第一趟完成,此时最大的数位于最后。
* 第i趟,从第一个元素比较起,一直比较到n-i+1个元素。
* @param a 要排序的数组
*/
public static void sorted(int[] a) {
//临时变量,用于交换数值
int temp = 0;
//循环跑n-1趟
for(int i=0;i<a.length-1;i++) {
//从第一个比较到n-i+1个
for(int j=0;j<a.length-i-1;j++) {
//如果前面的数比后面的大,交换两数
if(a[j]>a[j+1]) {
temp = a[j+1];
a[j+1] = a[j];
a[j] = temp;
}
}

}
}

}

冒泡排序的时间复杂度为O(n2)。

------分隔线----------------------------
标签(Tag):Java JAVA实例教程 JAVA基础教程 Java源代码 Java技巧
------分隔线----------------------------
推荐内容
猜你感兴趣