冒泡排序

package thresh;

import java.util.Arrays;
import java.util.Random;
import java.util.Scanner;

// 冒泡排序
public class BubbleSort {
	@SuppressWarnings("resource")
	public static void main(String[] args) {
		Random random = new Random();
		System.out.println("输入数组长度:");
		Scanner scanner = new Scanner(System.in);
		int num = scanner.nextInt();
		int[] arr = new int[num];
		for (int i = 0; i < arr.length; i++) {
			arr[i] = random.nextInt(100);
		}
		System.out.println("初始数组:");
		System.out.println(Arrays.toString(arr));
		// 外层循环
		for (int i = 0; i < arr.length - 1; i++) {
			// 内层循环
			for (int j = 0; j < arr.length - i - 1; j++) {
				// 核心算法
				if (arr[j] > arr[j + 1]) {
					int max = arr[j + 1];
					arr[j + 1] = arr[j];
					arr[j] = max;
				}
			}
		}
		System.out.println("冒泡排序后:");
		System.out.println(Arrays.toString(arr));
	}
}

输入数组长度:10
初始数组:
[72, 46, 78, 36, 12, 87, 87, 64, 85, 27]
冒泡排序后:
[12, 27, 36, 46, 64, 72, 78, 85, 87, 87]

/**************************************************/
package thresh;

import java.util.Arrays;
import java.util.Random;
import java.util.Scanner;

// 循环略不同一点
public class BubbleSort {
	public static void main(String[] args) {
		Random random = new Random();
		System.out.println("请输入数组长度:");
		Scanner scanner = new Scanner(System.in);
		int num = scanner.nextInt();
		int[] arr = new int[num];
		for (int i = 0; i < arr.length; i++) {
			arr[i] = random.nextInt(100);
		}
		System.out.println("初始数组:");
		System.out.println(Arrays.toString(arr));
		for (int i = 0; i < arr.length; i++) {
			for (int j = i; j < arr.length; j++) {
				if (arr[i] > arr[j]) {
					int max = arr[i];
					arr[i] = arr[j];
					arr[j] = max;
				}
			}

		}
		System.out.println("排序后数组:");
		System.out.println(Arrays.toString(arr));
	}

}

请输入数组长度:9
初始数组:
[60, 79, 14, 93, 9, 7, 38, 36, 58]
排序后数组:
[7, 9, 14, 36, 38, 58, 60, 79, 93]


你可能感兴趣的:(冒泡排序)