排序算法----冒泡排序java(写得绝对比其他博文易懂明了实用)

本来不想写的,看到别人写的都不符合自己心意


 

需进行n(n-1)/2次比较和记录移动,时间复杂度为O(n*n)


 

import java.util.Arrays;
import java.util.Scanner;

/**
 * Created by Admin on 2017/3/26.
 */
public class test02 {
 public static void BubbleSort(int[] n){
       int temp;
       for(int i=0;i<n.length-1;i++)
           for(int j=i;j<n.length;j++){
           if(n[i]>n[j]){         //是对n[i]排序的,这里表示从小到大
               temp=n[i];
               n[i]=n[j];
               n[j]=temp;
           }
           }
    }

    public static void main(String[] args) {
        Scanner scanner=new Scanner(System.in);
        int num=1;
        while (num!=0) {
            num=scanner.nextInt();
            int[] n=new int[num];   // 这里new int要写初始化大小
            for(int i=0;i<num;i++)
            n[i] = scanner.nextInt();
            BubbleSort(n);
            System.out.println(Arrays.toString(n));
        }
    }
}

 

posted on 2017-03-26 12:38  Honey_Badger  阅读(1197)  评论(2编辑  收藏  举报

导航

github