满意答案
nianhui6174
2013.03.26
采纳率:50% 等级:12
已帮助:4712人
public class RandomNum {
public static void main(String[] args) {
// 调用冒泡排序
new RandomNum().sortRandomBubble(30, 100);
System.out.println();
System.out.println("----------------------------");
// 调用选择排序
new RandomNum().sortRandomSelect(40, 100);
}
// 冒泡排序法
private void sortRandomBubble(int len, int Random) {
// 长度为len的数组.随机数范围random
int[] array = new int[len];
for (int i = 0; i < len; i++) {
array[i] = (int) (Math.random() * Random);
}
// 冒泡
for (int i = 0; i < len - 1; i++) {
int temp = 0;
for (int j = 1; j < len; j++) {
if (array[j - 1] > array[j]) {
temp = array[j];
array[j] = array[j - 1];
array[j - 1] = temp;
}
}
}
// 打印
for (int k = 0; k < len; k++) {
System.out.print(array[k] + " ");
}
}
// 选择排序法
private void sortRandomSelect(int len, int Random) {
// 长度为len的数组.随机数范围random
int[] array = new int[len];
for (int i = 0; i < len; i++) {
array[i] = (int) (Math.random() * Random);
}
// 选择排序
for (int i = 0; i < len - 1; i++) {
int min = i;
for (int j = i + 1; j < len; j++) {
if (array[min] < array[j]) {
min = j;
}
}
if (min != i) {
int temp = array[i];
array[i] = array[min];
array[min] = temp;
}
}
//打印
for (int k = 0; k < len; k++) {
System.out.print(array[k] + " ");
}
}
}
--------------------------------------------------------------------------------------------
结果:
1 3 11 13 15 16 19 22 37 38 43 43 43 46 55 55 57 60 60 61 64 64 70 71 77 78 79 83 90 96
----------------------------
98 98 98 97 96 87 82 80 76 70 62 62 61 60 59 58 57 56 55 53 48 46 46 45 43 36 34 31 31 26 23 23 22 17 17 13 8 8 5 3
02分享举报