排序_冒泡排序

package ds.sort;
import java.util.Arrays;
import java.util.Scanner;
//在冒泡排序的基础上做了优化,当有序时即可不需要再比较循环
public class BubbleSort {
	public static void sort(int[] a){
		boolean flag = true;
		for(int i=0; i<a.length && flag; i++){
            flag = false;//只要flag在下一次外循环条件检测的时候值为false,就说明已经排好序,不用继续循环
			for(int j=a.length-1; j>i; j--){
				if(a[j] < a[j-1]){
					int temp = a[j-1];
					a[j-1] = a[j];
					a[j] = temp;
					flag = true;
				}
			}		
		}
		System.out.println(Arrays.toString(a));
	}
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		System.out.println("请输入数组元素的个数: ");
		int n = scanner.nextInt();
        int[] a = new int[n];
        for(int i=0; i<n; i++){
        	a[i] = scanner.nextInt();
        }
		sort(a);
	}
}

  

posted @ 2017-04-27 16:24  55329  阅读(121)  评论(0编辑  收藏  举报