我的java排序算法程序,想计算运行时间,结果为0,求各路高手解答。

这是我的排序程序
public void m_Selectionsort(){
long begin = System.currentTimeMillis();
for(int i=0;i<n-1;i++){
int k=i;
for(int j=i+1;j<n;j++){
if(s_array[j]<s_array[k])k=j;
}
if (k!=i){
int temp;
temp=s_array[i];
s_array[i]=s_array[k];
s_array[k]=temp;
}
}
long end = System.currentTimeMillis();
System.out.println();
System.out.print("排序结果:");
for(int i=0;i<n;i++)System.out.print(s_array[i]+" ");
System.out.println();
System.out.println("选择排序法用时为:" + (end - begin));
System.out.println("选择排序法比较次数为:"+(n*(n-1))/2);
}

因为你的数太少,现在的CPU运行速度很快的 你的代码没贴完整 我自己修改了下弄了个完整的 输入了10000个整数 运行时间大概是110毫秒。
public class Test5 {
public static void main(String[] args) {
long begin = System.currentTimeMillis();
int[] s_array = new int[10000];
int n = s_array.length;
for (int i = 0; i < n; i++) {
s_array[i] = i;
}
for (int i = 0; i < n - 1; i++) {
int k = i;
for (int j = i + 1; j < n; j++) {
if (s_array[j] < s_array[k])
k = j;
}
if (k != i) {
int temp;
temp = s_array[i];
s_array[i] = s_array[k];
s_array[k] = temp;
}
}
long end = System.currentTimeMillis();
System.out.println();
System.out.print("排序结果:");
for (int i = 0; i < n; i++) {
System.out.print(s_array[i] + " ");
}
System.out.println();
System.out.println("选择排序法用时为:" + (end - begin));
System.out.println("选择排序法比较次数为:" + (n * (n - 1)) / 2);
}
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-12-24
1 java问题,求各路高手齐来踊跃解答。。。我想知道正确答案啊。。。 1、4、以下程序段的输出结果为_。 for(i=0;i<5;i++) {for(j=0;j<5

java题目,请高手帮忙解决。
从安全性的观点看,Java 应用程序所受的安全性限制与 iSeries 服务器上的任何其它程序相同。要在 iSeries 服务器上运行 Java 程序,您必须对集成文件系统中的类文件具有权限。程序一旦启动,它就在该用户权限控制下运行。 您可以使用沿用权限来访问具有运行程序的用户的权限和程序拥有者权限的对象。沿用权...

如何知道pascal程序的运行时间
assign(output,'输出文件名称')rewrite(output);end.上打 close(input);close(output);以下是一些算法的时间代价 排序:对与长度为n的数组 冒泡排序 O(n2) O(n2) 稳定 O(1)快速排序 O(n2) O(n*log2n) 不稳定 O(log2n)~O(n)选择排序 O(n2) O(n2) ...

冒泡排序法和快速排序比较的算法
要求比较冒泡排序和快速排序的效率,给出各自的排序时间及结果,交:1.程序的代码(冒泡、快速)2.给出时间3.前20... 产生1000个随机数,分别用两种方法来进行排序。给出各自的排序思路。要求比较冒泡排序和快速排序的效率,给出各自的排序时间及结果,交:1.程序的代码(冒泡、快速)2.给出时间3.前20个数建立数组,产...

我遇到一些数据结构的问题,请高手帮忙给解答,跪谢!!!
1, t->next = p->next 2, p=head 3, n-k 4,1

谁能为 快速排序 的算法加入一段代码 可以计算出它完成的百分比???
快拍的关键是切的位置 也就是待排序的数越乱 效率越高 如果是基本有序的数 效率很低 所以使用概率算法 让每次切的位置是随机的 用一个随机的步骤 这样可以打乱序序列原来的有序性 具体 不懂的话 可以去看 算法与程序设计中的概率算法那一章 这样的话n也大致也和计算的差不多 我这种算法就更...

关于JAVA程序流程图的编写
流程图如下:首先,你的JAVA程序是用来进行选手评分的。为保证公正性,所以一般都会以去掉一个最高分,在去掉一个最低分,求和算平均值的方法来算的。float[] score={8.5f,9.5f,8,7,9,8.7f,6.8f,10,7.9f,8.9f};score数组中,即为各个评委给出的的结果。通过Arrays.sort(score);将数组...

JAVA中有哪几种常用的排序方法?每个排序方法的实现思路是如何的?每个...
选择排序是不稳定的排序方法。n个记录的文件的直接选择排序可经过n-1趟直接选择排序得到有序结果:①初始状态:无序区为R[1..n],有序区为空。②第1趟排序 在无序区R[1..n]中选出关键字最小的记录R[k],将它与无序区的第1个记录R[1]交换,使R[1..1]和R[2..n]分别变为记录个数...

求C算法,排列组合问题。
先对M个数排序,再定位没个数距离最近的参考点的差值,对差值排序(此步骤要比M随机抽取N要节约很多时间复杂度),找出最小差值的N个点。再定位N个数(避免了从M个中抽取N个的随机组合) 。对你的问题我有个疑问,我觉得有个歧义 1、是要随机抽取N个数一次(注意是一次),然后找到剩余的M-N个...

C语言编程高手请来解决几道tc程序题
已知一个数列的前三项分别为0,0,1,以后的各项都是其相邻的前三项之和。给定程序MODI1.C中函数 fun 的功能是: 计算并输出该数列前n项的平方根之和sum。n的值通过形参传入。 例如, 当n=10时, 程序的输出结果应为: 23.197745。 请改正程序中的错误, 使程序能输出正确的结果。 注意: 不要改动main函数, 不...

GetTickTime()函数的问题,结果为什么总是0?
GetTickcount函数:它返回从操作系统启动到当前所经过的毫秒数,常常用来判断某个方法执行的时间,其函数原型是DWORD GetTickCount(void),返回值以32位的双字类型DWORD存储,因此可以存储的最大值是2-1 ms约为49.71天,因此若系统运行时间超过49.71天时,这个数就会归0,MSDN中也明确的提到了:"Retrieve...

相似回答