在一个List集合中生成20个随机整数(100以内)
在 Python 中可以使用 random 库生成随机整数,再使用 sort 排序。
例如:
import random
#生成随机整数的列表
random_list = [random.randint(0, 100) for _ in range(20)]
#从小到大排序
random_list.sort()
#翻转第 6 个到第 15 个元素
random_list[5:15] = reversed(random_list[5:15])
#输出最终列表
print(random_list)
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Random;
public class RandomNumber {
public static void main(String[] args) {
List<Integer> list = new ArrayList<>();
Random random = new Random();
for (int i = 0; i < 20; i++) {
list.add(random.nextInt(100));
}
System.out.println("初始集合:" + list);
Collections.sort(list);
System.out.println("从小到大排序:" + list);
List<Integer> subList = list.subList(5, 15);
Collections.sort(subList, Collections.reverseOrder());
System.out.println("从大到小排序:" + subList);
System.out.println("最终集合:" + list);
}
}
代码
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
public class RandomNumber {
public static void main(String[] args) {
List<Integer> list = new ArrayList<>();
Random random = new Random();
for (int i = 0; i < 20; i++) {
list.add(random.nextInt(100));
}
System.out.println("初始集合:" + list);
// 先对集合从小到大
bubbleSort(list, 0, list.size() - 1, true);
// 然后翻转 第6到第14
bubbleSort(list, 5, 14, false);
System.out.println("最终集合:" + list);
}
public static void bubbleSort(List<Integer> list, int startIndex, int endIndex, boolean orderAsc) {
int temp = 0;
if (orderAsc) {
for (int i = startIndex; i < endIndex; i++) {
for (int j = startIndex; j < endIndex + startIndex - i; j++) {
if (list.get(j) > list.get(j + 1)) {
temp = list.get(j);
list.set(j, list.get(j + 1));
list.set(j + 1, temp);
}
}
}
} else {
for (int i = startIndex; i < endIndex; i++) {
for (int j = startIndex; j < endIndex + startIndex - i; j++) {
if (list.get(j) < list.get(j + 1)) {
temp = list.get(j);
list.set(j, list.get(j + 1));
list.set(j + 1, temp);
}
}
}
}
}
}
运行结果
初始集合:[73, 45, 55, 75, 17, 51, 18, 96, 0, 77, 19, 10, 36, 77, 40, 49, 42, 60, 21, 81]
最终集合:[0, 10, 17, 18, 19, 73, 60, 55, 51, 49, 45, 42, 40, 36, 21, 75, 77, 77, 81, 96]