:创建一个11个长的数组,插入一个固定值,然后再插入10个随机数,要求查找固定值的位置 方法要求:java生成随机数组ThreadLocalRandom然后用冒泡排序法排序再用折半查找法
时间: 2024-03-19 16:44:47 浏览: 66
好的,我明白了。以下是实现这个要求的Java代码:
```java
import java.util.concurrent.ThreadLocalRandom;
public class ArraySearch {
public static void main(String[] args) {
int[] arr = new int[11];
int fixedValue = 5; // 固定值
arr[0] = fixedValue;
// 插入10个随机数
ThreadLocalRandom random = ThreadLocalRandom.current();
for (int i = 1; i < 11; i++) {
arr[i] = random.nextInt(100);
}
// 冒泡排序
for (int i = 0; i < 10; i++) {
for (int j = i + 1; j < 11; j++) {
if (arr[i] > arr[j]) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
// 折半查找
int left = 0, right = 10, mid;
while (left <= right) {
mid = (left + right) / 2;
if (arr[mid] == fixedValue) {
System.out.println("固定值的位置为:" + mid);
break;
} else if (arr[mid] > fixedValue) {
right = mid - 1;
} else {
left = mid + 1;
}
}
}
}
```
这个程序首先创建一个长度为11的数组,然后给数组中第一个元素赋上一个固定值。接着使用Java的ThreadLocalRandom生成10个随机数,并插入到数组中。然后使用冒泡排序法对数组进行排序。最后使用折半查找法查找固定值的位置,并输出结果。
阅读全文