-5

我多次调用某些函数(5000-10000)并测量每次完成函数执行所需的时间。

例如:使用 10 个整数、11 个整数、1000 个整数进行二进制搜索...现在我想绘制每一步完成搜索需要多少时间的图表。

我的整数数量为 X,时间为 Y。但我不知道如何将这些点连接到制作图表,Visual Studio 2015 中是否有任何函数或库可以帮助我绘制图表?就像 borland 中的“graphics.h”

编辑:使用 Windows 10 和 Visual Studio 2015

4

2 回答 2

1

标准 C++11 或 C++14 没有任何图形库。

但是您应该考虑使用Qt,这是一个用于 C++ 的免费软件跨平台 GUI 库。我想你会很高兴使用Qt 图形视图框架。您还可以考虑其他一些(可能是特定于操作系统的)小部件工具包。或者只使用libcairo输出2D 图形。

另一种可能性可能是输出一些文本文件(对于GNUplot,在 JSON 中,在SVG中,对于在CSV中的一些电子表格,等等......)并使用一些外部程序来显示该图形(以文本格式)。您甚至可以在它们之间使用一些进程间通信(例如,一些 FIFO 或pipeline,with _popen or better)。

顺便说一句,Windows 是 AFAIK,不是实时操作系统,但正如您所评论的那样,您并不真正需要实时,您只需要一些交互性。恕我直言,到 GNUplot 的流水线非常容易(至少在 Linux 上,也可能在 Windows 上......)。

于 2017-11-22T11:22:34.020 回答
-1

我使用了“windows.h”,正如我在此链接中看到的那样画一条线然后从搜索功能和画线中获取执行时间

它并不完全是在控制台中绘制,而是在屏幕上绘制。但是它完成了工作。

for (int i = 10000;i <= 100000;i += 500) {
    logarithm bSearch;
    //Measuring the time of binary search with the array of 'i' e
    searchResult = bSearch.BinarySearch(i);
    j = searchResult.getTime();
    //Here is drawing the line
    BCX_Line(hConWnd, width / 2 + i / 500 - 1 -20, height / 2 - j + 2, width / 2 + i / 500 - 20, height / 2 - (j), Cyan);
}
于 2017-11-22T11:17:27.030 回答