冒泡排序(Bubble Sort),java版.

« 插入排序(Insert Sort), java版. 简单选择排序(Select Sort),java版。 »

冒泡排序(Bubble Sort),java版.

发表于: 2008年12月28日 | 分类: 算法 | 标签:  sort |  views(864)

版权信息: 可以任意转载, 转载时请务必以超链接形式标明文章原文出处, 即下面的声明.

 

原文出处:http://blog.chenlb.com/2008/12/bubble-sort-for-java.html

学习的第一个排序方式就是冒泡排序,在是学c语言时候学的。

冒泡排序原理:把最大的(或最小的)冒出来。从底端(即index=0)向上面紧挨着的比较,大的(或小的)冒上来(交换),直到冒到“顶”(顶的解释:没有冒过的,即是冒一趟,顶就矮一层。)。然后继续下一趟冒,直到底端不是“顶”。
时间复杂度:平均O(n2),最坏情况O(n2)。

示例代码:

  1. package com.chenlb.sort;  
  2.   
  3. import java.util.Arrays;  
  4.   
  5. public class BubbleSort {  
  6.   
  7.     public static int[] sort(int[] datas) {  
  8.         for(int i=1; i<datas.length; i++) {  
  9.             for(int j=0; j<datas.length-i; j++) {  
  10.                 if(datas[j] > datas[j+1]) {  
  11.                     SortUtil.swap(datas, j, j+1);  
  12.                 }  
  13.             }  
  14.         }  
  15.         return datas;  
  16.     }  
  17.   
  18.     public static void main(String[] args) {  
  19.         int[] datas = {5,1,3,4,9,2,7,6,5};  
  20.         sort(datas);  
  21.         System.out.println(Arrays.toString(datas));  
  22.   
  23.         datas = SortUtil.randomDates(10);  
  24.         sort(datas);  
  25.         System.out.println(Arrays.toString(datas));  
  26.   
  27.     }  
  28.   
  29. }  

运行结果:

  1. [1, 2, 3, 4, 5, 5, 6, 7, 9]  
  2. [68, 86, 143, 175, 242, 281, 332, 481, 603, 861]  

 

 

随机日志 »

相关日志 »

 

你可能感兴趣的:(Bubble)