想不起来冒泡排序怎写的了,再写个笔记记录一下
冒泡排序的原理就是第一位和第二位比较大小,然后交换数字,第二位和第三位比较大小再交换数字,直到n-1
的时候,整个排序就执行完毕。
import java.util.Arrays;
/**
* @author Y
* 冒泡排序
*/
public class Main {
public static void main(String[] args) {
// 数字6,3,8,2,9,1用冒泡排序进行从小到大的排序
// 数字数组
int[] nums = {6,3,8,2,0,9,1};
// -1:减少排序次数。倒数第二次遍历完成之后,整个排序已经排序完毕,所以最后一次可以不用遍历
for (int i = 0; i < nums.length-1; i++) {
// -i:每次外层循环执行完毕后,就会把最大的数字放到最后,最大的数字已经排序完毕,可以减去i的值,减少遍历次数
// -1:防止下标越界,出现空指针异常
for (int j = 0; j < nums.length-i-1; j++) {
// 判断第j个是都大于j++个,如果大于则交换顺序
if (nums[j]>nums[j+1]){
// temp 临时数组
int temp = nums[j];
nums[j] = nums[j+1];
nums[j+1] = temp;
}
}
System.out.printf("第%s次:%s%n",i,Arrays.toString(nums));
}
System.out.printf("最终:%s%n",Arrays.toString(nums));
}
}