八大排序java

冒泡排序:

package Exercise;

import java.util.Arrays;

public class TestBubbleSort {
    public static void main(String[] args) {
        int[] a={3,1,6,2,9,0,7,4,5,8};
        int temp=0;
        for(int i=0;i<a.length-1;i++){
            //因为已经排好了i个了,所以只需要排length-i的数,-1是因为只需要排到倒数第二个,否则j+1会产生数组越界
            for(int j=0;j<a.length-1-i;j++){
                if(a[j]>a[j+1]){
                    temp=a[j];
                    a[j]=a[j+1];
                    a[j+1]=temp;
                }
            }
            System.out.println("第"+i+"次排序的结果"+Arrays.toString(a));
        }
    }
}

运行结果:

 可以观察到,在第四次该数组已经排好序,没有必要再进行后面的排序,所以应给予优化;可以采取设置一个flag变量,如果经历了交换,就将它设置为false

猜你喜欢

转载自www.cnblogs.com/laurarararararara/p/12171113.html