在希腊帕尔纳斯山南坡上,有一个驰名世界的戴尔波伊神托所,在它的入口处的巨石上赫然锈刻着这样几个大字: 认识你自己!

像丁香花一样静静的等待

   :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  21 随笔 :: 2 文章 :: 32 评论 :: 0 Trackbacks
冒泡法也叫下沉法,是数组里一个基本的排序算法,小的排前面大的往下,往后挪。这种算法采用的是嵌套循环对整个数组遍历,每次遍历都比较相邻的2个element,如果这对elements以升序(或者是值相等)那么保持它们的位置不变,else他们以降序排列,则交换它们的位置。

package test;

/**
 *
 * @author dyin
 */
public class BubbleTest {
    public static void Bubble(int[] arrays){
        for(int i=0;i<arrays.length-1;i++){
            for(int j=0;j<arrays.length-i-1;j++){
                if(arrays[j] > arrays[j+1]){
                    int temp = arrays[j];
                    arrays[j] = arrays[j+1];
                    arrays[j+1] = temp;
                }
            }
            //transfer another method
            printer(arrays,i+1);
        }
    }
    
    public static void printer(int[] array,int times){
        System.out.print("第"+times+"次排序结果为:");
        for(int i=0;i<array.length;i++){
            System.out.print(array[i]+" ");
        }
       // System.out.print(array[times]);
        System.out.println();
    }
    
    public static void main(String[] args){
        int[] arry = new int[]{4,6,5,3,9,1};
        Bubble(arry);
    }
}

打印结果:

----------------------------------------------------

第1次排序结果为:4  5  3  6  1  9 
第2次排序结果为:4  3  5  1  6  9 
第3次排序结果为:3  4  1  5  6  9 
第4次排序结果为:3  1  4  5  6  9 
第5次排序结果为:1  3  4  5  6  9 

此种算法的时间复杂度为O(n^2)

posted on 2007-03-02 09:52 dyin 阅读(208) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航: