JAVA BubbleSort运行时故障
我编写了一个冒泡排序程序,可以将10000个唯一值按顺序排序 我已经运行了这个程序,它给了我一个输出,但是输出对我来说似乎不正确 代码如下:JAVA BubbleSort运行时故障,java,runtime,bubble-sort,Java,Runtime,Bubble Sort,我编写了一个冒泡排序程序,可以将10000个唯一值按顺序排序 我已经运行了这个程序,它给了我一个输出,但是输出对我来说似乎不正确 代码如下: public class BubbleSort { public static void main(String[] args) { int BubArray[] = new int[]{#here are 10000 integers#}; System.out.println("Array Before Bubb
public class BubbleSort {
public static void main(String[] args) {
int BubArray[] = new int[]{#here are 10000 integers#};
System.out.println("Array Before Bubble Sort");
for(int a = 0; a < BubArray.length; a++){
System.out.print(BubArray[a] + " ");
}
double timeTaken = bubbleSortTimeTaken(BubArray);
bubbleSort(BubArray);
System.out.println("");
System.out.println("Array After Bubble Sort");
for(int a = 0; a < BubArray.length; a++){
System.out.println(" Time taken for Sort : " + timeTaken + " milliseconds.");
System.out.print(BubArray[a] + " ");
}
}
private static void bubbleSort(int[] BubArray) {
int z = BubArray.length;
int temp = 0;
for(int a = 0; a < z; a++){
for(int x=1; x < (z-a); x++){
if(BubArray[x-1] > BubArray[x]){
temp = BubArray[x-1];
BubArray[x-1] = BubArray[x];
BubArray[x] = temp;
}
}
}
}
public static double bubbleSortTimeTaken(int[] BubArray) {
long startTime = System.nanoTime();
bubbleSort(BubArray);
long timeTaken = System.nanoTime() - startTime;
return timeTaken;
}
}
1.0114869E7毫秒在整个程序中运行,我不认为输出正是我想要做的,尽管它看起来像。我希望输出程序运行所花费的时间以及每次排序的时间
~z~我希望这是有道理的。
任何帮助都将不胜感激,谢谢。我想您可能希望输出此信息。
sysout
应该在for
循环之前
System.out.println(“排序所用的时间:“+timetaked+”毫秒”);
对于(int a=0;apublic static double bubbleSortTimeTaken(int[] BubArray) {
long startTime = System.nanoTime();
bubbleSort(BubArray);
long timeTaken = System.nanoTime() - startTime;
return timeTaken;
}
}
所以,这就是总时间 只对数组排序一次,但输出的时间与数组中每个元素的时间相同。这就是你想做的吗?是的,没错。我希望对数组进行排序,并显示数组排序所花费的总时间(使用nanoTime函数)。嗯,很有趣。我现在有以下输出:气泡排序前的数组#随机10000个整数#。。。。冒泡排序后的数组。。。。排序所用时间:1.0404365E7毫秒#10000个整数排序#这是很低的时间,真的是正确的输出,对我来说似乎真的很快。可能就是这么快。试试100万吧。
public static double bubbleSortTimeTaken(int[] BubArray) {
long startTime = System.nanoTime();
bubbleSort(BubArray);
long timeTaken = System.nanoTime() - startTime;
return timeTaken;
}
}