冒泡排序总结

package Test5;


public class maoPai {

public static void main(String[] args) {
int a[]={56,23,78,1,0,9,46,20};

maoPai.paiXu(a);

for(int i=0;i<a.length;i++){
System.out.print(a[i]+" ");
}
}
public static void paiXu(int a[]){
boolean t=true;A冒泡排序的优化,定一个boolean,作为标识

for(int i=0;i<a.length-1;i++){//外层循环,次数是数组长度-1,因为比较次数比个数少一
for(int j=0;j<a.length-1-i;j++){//内层循环,①保证不超过下标最大值(a.length-1)②因为外层循环i已决定了拍好的几个数,减去降低重复性
if(a[j]>a[j+1]){
int b=0;
b=a[j];
a[j]=a[j+1];
a[j+1]=b;
t=false;B如果进到if()中进行交换,标识改为false
}
}
if(t){
return;C如果表示为return,以为着表示为return,表示没有进到if()中,数组以然有序,减少重复
}
}

}
}

posted @ 2016-09-30 21:56  我的TURF  阅读(202)  评论(0编辑  收藏  举报