叙述
冒泡排序:是一种直观的比较排序,两两比较大小,大的数排在后面,小的数排在前面,类比气泡从水底浮出水面,气泡越来越大。
代码实现
public class _1冒泡 {
public static void main(String[] args) {
int arr[] ={4,2,6,7,9,10,1,8,5};
for (int j = 0; j < arr.length-1; j++) {
for (int i = 0; i < arr.length-1-j; i++) {
if(arr[i]>arr[i+1]){
int t=arr[i];
arr[i]=arr[i+1];
arr[i+1]=t;
}
}
}
}
内层的循环走一轮即选出其中最大的一个数放在最后,第二轮选出剩余未排序数字中最大的放在最后一个数字的前一位…,外层循环次数是两两比较的次数,9个数字需要比较8次,即j<length-1,内层循环的次数是剩余没有排过序的数字的两两比较次数。内层循环第一轮比较8次(i<length-1),第二轮比较7次…,因此j<length-1-j。