package homework;
import java.util.Random;
public class SortingMethodEncapsulation {
public static void main(String[] args) {
Random rd = new Random();
int rdNum[] = new int[10];
for (int i = 0; i < rdNum.length; i++) {
rdNum[i] = rd.nextInt(31);
}
ElementsShow(rdNum);
BubbleSort(rdNum);
SelectionSort(rdNum);
}
/**
* 选择排序随机数组中的元素
* @param rdNum
*/
private static void SelectionSort(int[] rdNum) {
for (int i = 0; i < rdNum.length - 1; i++) {
for (int j = i + 1; j < rdNum.length; j++) {
if (rdNum[i] > rdNum[j]) {
int temp = rdNum[i];
rdNum[i] = rdNum[j];
rdNum[j] = temp;
}
}
}
System.out.println("\n\n选择排序随机数组中的元素(升序):");
for (int i = 0; i < rdNum.length; i++) {
System.out.print(rdNum[i] + " ");
}
}
/**
* 冒泡排序随机数组中的元素
* 冒泡排序外层循环length - 1(控制循环次数,防止数组下标越界)
* 内层循环length - 1 - i(避免重复比较,提高排序效率)
* @param rdNum
*/
private static void BubbleSort(int[] rdNum) {
for (int i = 0; i < rdNum.length - 1; i++) {
for (int j = 0; j < rdNum.length - 1 - i; j++) {
if (rdNum[j] < rdNum[j + 1]) {
int temp = rdNum[j];
rdNum[j] = rdNum[j + 1];
rdNum[j + 1] = temp;
}
}
}
System.out.println("\n\n冒泡排序随机数组中的元素(降序):");
for (int i = 0; i < rdNum.length; i++) {
System.out.print(rdNum[i] + " ");
}
}
/**
* 随机数组中的元素展示
* @param rdNum
*/
private static void ElementsShow(int[] rdNum) {
System.out.println("随机数组中的元素:");
for (int i = 0; i < rdNum.length; i++) {
System.out.print(rdNum[i] + " ");
}
}
}