gpt4 book ai didi

计算执行 C 程序代码所需的时间?

转载 作者:行者123 更新时间:2023-11-30 19:47:35 26 4
gpt4 key购买 nike

我需要计算C语言中各种排序算法所花费的时间我正在检查对 100,200,300,400 和 500 个元素进行排序所需的时间。

令人惊讶的是,对它们进行排序所花费的时间似乎是相同的!

代码中有什么问题,我得到的时间是 0.00000,这也是荒谬的,需要 0 秒来对数字进行排序。

我得到这样的结果的代码有什么问题?

必须对代码进行哪些更改才能获得对数字进行排序所需的准确时间(以秒为单位)。

#include <stdio.h>
#include <time.h>

// Bubble Sort on 100 to 500 elements
int main()
{
int g;
//clock_t ti;
for(g=0;g<5;g++)
{
int n, i, j, swap;
clock_t ti;
time_t t;
srand((unsigned) time(&t));

//scanf("%d", &n);
n=100;
int array[n*(g+1)];



for (i = 0; i < n; i++)
array[i] = rand() % 10000;// Generating random numbers as array entries


//printf("%f \n",ti);
ti = clock();
for (i = 0 ; i < ( n - 1 ); i++)
{
for (j = 0 ; j < n - i - 1; j++)
{
if (array[j] > array[j+1])
{
swap = array[j];
array[j] = array[j+1];
array[j+1] = swap;
}
}
}

ti = clock() - ti;
double time_taken = ((double)ti)/CLOCKS_PER_SEC;


/*for ( i = 0 ; i < n ; i++ )
printf("%d \n ", array[i]);*/



printf("Time Taken to sort %d elements is %f\n",(g+1)*100,time_taken);
}

return 0;
}

我得到的输出是:

对 100 个元素进行排序所需的时间为 0.000000

对 200 个元素进行排序所需的时间为 0.000000

对 300 个元素进行排序所需的时间为 0.000000

对 400 个元素进行排序所需的时间为 0.000000

对 500 个元素进行排序所需的时间为 0.000000

最佳答案

clock() 的分辨率可能太低。检查您的 CLOCKS_PER_SEC 值。

clock_gettime()提供高分辨率计时器。

关于计算执行 C 程序代码所需的时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21328459/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com