2 qq 32256907 qq_32256907 于 2016.03.05 16:35 提问

插入排序用java写,排序量为两万,请问怎么写

插入排序用java写,排序量为两万,请问怎么写???并且计算出所需要的时间是多少

5个回答

caozhy
caozhy   Ds   Rxr 2016.03.05 16:53
已采纳

int[] arr= new int[20000];

qq_32256907
qq_32256907 看我这段代码怎么运行不出来,发到你楼下了
接近 2 年之前 回复
caozhy
caozhy   Ds   Rxr 2016.03.05 16:42


import java.util.*;
class sorts
{
public static void main(String[] args)
{
int[] arr= 你的2万的数组
sorts.InsertSort(arr);
}
public static int[] InsertSort(int[] arr)
{
int i,j;
int insertNote;//要插入的数据
int[] array=arr;

//从数组的第二个元素开始循环将数组中的元素插入
for (i=1;i {
//设置数组中的第2个元素为第一次循环要播讲的数据
insertNote = array[i];
j=i-1;
while(j>=0&&insertNote<array[j])

{
//如果要播讲的元素小于第j个元素,就将第j个元素向后移动
array[j+1]=array[j];
j--;
}
//直到要插入的元素不小于第j个元素,将insertNote插入到数组中
array[j+1]=insertNote;
}
//打印排序后的数组
System.out.println(Arrays.toString(array));
return array;

}
}


计算时间
 long starTime=System.currentTimeMillis();
 你的代码
 long endTime=System.currentTimeMillis();
long Time=endTime-starTime;
 System.out.println(Time /1000); //秒,进一步/60是分钟,/3600是小时,等等

 2万排序秒出结果
qq_32256907
qq_32256907 两万的数组怎么定义
接近 2 年之前 回复
wojiushiwo945you
wojiushiwo945you   Ds   Rxr 2016.03.05 18:22

大数据量排序的话,不能用内部排序,应该用外部排序吧。数据量太大加载到内存会出现内存溢出的。

qq_32256907
qq_32256907 关键代码应该怎么写
接近 2 年之前 回复
qq_32256907
qq_32256907   2016.03.05 17:01

public class Text {
static int i;
static int j;
static int temp;
int[] r = new int[20000];
public static void Text(int[] r){
for(i=1;i temp = r[i];
j=i-1;
while(j>=0&&temp<r[j]){
r[j+1]=r[j--];
r[j+1]=temp;
}
}
// System.out.println("\nAfter change:");
//for(i=0;i<r.length;i++) {
//System.out.print(r[i]+" ");
}

public static void main(String[] args) {
    int[] r = new int[20000];
    int i,j,temp;

    for(i=0;i<r.length;i++) {
        r[i] = (int)(Math.random()*20000);
    }
    Text(r);
    for(i=0;i<r.length;i++) {
        System.out.print(r[i]+" ");
    }

}

}

wojiushiwo945you
wojiushiwo945you   Ds   Rxr 2016.03.06 20:51

你上面贴的代码有编译错误啊,而且你为什么要定义一个与类名相同的静态方法呢?
一般只有构造函数才与类名称一样的。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!