我目前在排序算法中遇到计时器的问题,我正在使用冒泡排序。
我要求计时器记录算法运行的时间,考虑用户打开时间并输入程序值(我不想要)
我决定在用户输入所需的时间后启动定时器,并且实时为0,这是不正确的。
有谁知道如何解决这个问题?
(请注意下面的代码不会构建 - 只关注计时器及其开始/结束的位置)
#include <stdio.h>
#include <time.h>
int main()
{
int array[100], n, c, d, swap;
printf("Enter number of elements\n");
scanf("%d", &n);
printf("Enter %d integers\n", n);
for (c = 0; c < n; c++)
scanf("%d", &array[c]);
clock_t t;
t = clock(); // timer starts here
for (c = 0 ; c < ( n - 1 ); c++)
{
for (d = 0 ; d < n - c - 1; d++)
{
if (array[d] > array[d+1]) /* For decreasing order use < */
{
swap = array[d];
array[d] = array[d+1];
array[d+1] = swap;
}
}
}
t = clock() - t; // ends timer
printf("Sorted list in ascending order:\n");
for ( c = 0 ; c < n ; c++ )
printf("%d\n", array[c]);
return 0;
}