冒泡排序是一种最基本的排序,他的实现就是比较两个相邻的数值,根据题目要求看是由小到大还是由大到小排序,选择两个相邻的数值是否交换,这里值得注意的是 arr.length - 1的问题;
i 层中的 arr.length 之所以所以要减 1是因为只需要比较length -1轮就行了,最后一位没有比较的意义
j 层中的arr.length之所以要减 1 是因为在内层循环中 第一轮比较最后两位 arr[ j ] 和 arr[ j+1]如果arr.length 不减 1的话就会溢出从而产生异常
以上仅代表个人看法,本人纯新人,如有不对欢迎纠错
int temp = 0;
for(int i = 0;i < arr.length - 1;i++){
for(int j = 0; j < arr.length - 1 - i;j++){
if(arr[j] < arr[j+1]){
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = arr[j];
}
}
}