【发布时间】:2017-11-24 20:21:50
【问题描述】:
我正在尝试比较两种排序算法合并排序和快速排序,通过查看哪一种花费最少的时间对像 {8,7,6,5,4,3,2,1} 这样的小整数数组进行排序 我知道我不应该使用 clock() 并且我一直在尝试 time() 但每次它一直给我 0 所花费的时间。我也尝试过使用 Chrono,它也只给了我 0 有人可以帮我解决这个问题吗?
分类已经完成,它们工作正常,我就是这样设置的。
int Quiarr[] = {8, 7, 6, 5, 4, 3, 2, 1};
int arr_size = sizeof(Quiarr)/sizeof(Quiarr[0]);
start = time();
mergeSort(Quiarr, 0, arr_size - 1);
end = time();
msecs = ((double) (end - start)) * 1000 / CLOCKS_PER_SEC;
cout << msecss2 << " " << endl;
【问题讨论】:
-
你能告诉我们你到目前为止得到了什么吗?
-
对这么小的数组进行排序可能需要的时间太短,以至于计时器无法测量。你可以试试en.cppreference.com/w/cpp/chrono/high_resolution_clock
-
对八个元素进行排序最多需要几微秒。
time通常以秒为单位。