该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
import java.util.Arrays;
//冒泡排序算法
public class Test1 {
public static void main(String[] args) {
// 定义一个长度为5的数组
int arr[] = new int[5];
// 用for循环遍历该数组,初始化该数组(数组中的每个元素都不重复)
for (int i = 0; i < arr.length; i++) {
arr[i] = (int) (Math.random() * 100 + 1);
switch (i) {
case 1:
if (arr[i] == arr[i - 1]) {
i--;
}
break;
case 2:
if (arr[i] == arr[i - 1] | arr[i] == arr[i - 2]) {
i--;
}
break;
case 3:
if (arr[i] == arr[i - 1] | arr[i] == arr[i - 2]
| arr[i] == arr[i - 3]) {
i--;
}
break;
case 4:
if (arr[i] == arr[i - 1] | arr[i] == arr[i - 2]
| arr[i] == arr[i - 3] | arr[i] == arr[i - 4]) {
i--;
}
}
}
// 在控制台输出排序前的结果
System.out.println("arr数组排序前的结果是:" + Arrays.toString(arr));
// 实现冒泡排序算法
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr.length - 1 - i; j++) {
if (arr[j] > arr[j + 1]) {
int t = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = t;
}
}
}
// 在控制台输出排序后的结果
System.out.println("arr数组排序后的结果是:" + Arrays.toString(arr));
}
}
如上,这是我自己写的一个去重复的算法,但是感觉不够精简,这个不重复的数组元素还能用别的算法生成吗?