冒泡是最简单的排序,思路和实现都是比较简单的;其本质是交换排序;
实现代码(升序):
for(int i=0;i<a.length;i++) {
for(int j = 0;j<a.length-i-1;j++) {
if(a[j]>a[j+1]) {
int t =a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}
代码很简单:一共2层循环,内层完成一次循环选择会选择出一个最大值,外层控制循环次数;这样就能完成对整个数组的排序;
缺点:从这个排序可以看出,最大的缺点就是会重复比较;
与冒泡难度类似的还有:选择排序、插入排序;都是非常简单的排序,但是效率不高,不怎么常用;