java(1)定义Test类,在main()函数中定义一个有10000个元素的数组double[]a; (2)用随机函数Math.random()
文字版
import java.util.*;
public class Test{
public static void main(String[] args){
long foreTime=System.currentTimeMillis();
double[] a=new double[50];
for(int i=0;i<50;i++){
a[i]=Math.random()*41+60;//random()[0,1),当为0时值为60,当为无限接近1时值为值超过100
if(a[i]>100){
a[i]=100;//因为数组中的元素均为double型浮点数,超过100时取值为100即可
}
}
System.out.println("\n排序前");
for(int j=0;j<50;j++){
System.out.print(a[j]+" ");
if(j%10==0){//每10个元素为1行
System.out.println();
}
}
Arrays.sort(a);
System.out.println("\n排序后");
for(int j=0;j<50;j++){
System.out.print(a[j]+" ");
if(j%10==0){
System.out.println();
}
}
int index=Arrays.binarySearch(a,a[20]);//查找指定值,但因为是double型,无法准确知道这个值是否存在
if(index>=0){
System.out.println("61所在位置"+(index+1));
}else{
System.out.println("指定值不存在");
}
System.currentTimeMillis();
System.out.println("运行改程序所用时间:"+(System.currentTimeMillis()-foreTime));
}
}
更改数组大小50为10000即可
打了半天代码,运行正常