public class BubbleSort {
public static void main(String[] args) { //定义10个数字数组 int[] nums = {3, 1, 2, 4, 7, 6, 5, 8, 10, 9}; //定义是否继续循环 boolean isSwap = true; //外层正序循环 并且需要交换 for (int i = 0; i < nums.length && isSwap; i++) { isSwap = false;//设置假如不交换 for (int j = 0; j < nums.length - i - 1; j++) {
//内层循环(全部,最后一个不对比) if (nums[j] > nums[j + 1]) { swap(nums, j, j + 1); isSwap = true;//发生交换 } } } //print for (int i = 0; i < nums.length; i++) { System.out.print(nums[i] + "\t"); } }
private static void swap(int[] nums, int i, int j) { //i 大值 j int temp = nums[i]; //将大值放于临时变量 nums[i] = nums[j]; //大值的下标值换成j值(小值靠前) nums[j] = temp; //j值(小值)下标值换为大值 } }