Рисование графика с использованием времени выполнения функции в Stack Overflow

Я вызываю некоторые функции несколько раз (5000-10000) и измеряю время, необходимое для завершения выполнения функции каждый раз.

Например: бинарный поиск с 10, 11, 1000 …
Теперь я хочу нарисовать график того, сколько нужно, чтобы завершить поиск, каждый шаг.

У меня есть количество целых чисел как X и время как Y. Но я не знаю, как соединить точки для создания графика. Есть ли какая-либо функция или библиотека в Visual Studio 2015, которая помогает мне рисовать график? как «graphics.h» в Borland

Изменить: Использование Windows 10 и Visual Studio 2015

-5

Решение

Стандарт C ++ 11 или C ++ 14 не имеет графической библиотеки.

Но вы должны рассмотреть возможность использования Qt, свободная кроссплатформенная библиотека GUI для C ++. Я думаю, что вы будете счастливы в использовании Qt графический вид фреймворк. Вы могли бы также рассмотреть некоторые другие, возможно, конкретные ОС, инструментарий виджетов. Или просто выход 2D-графика с использованием libcairo.

Другой возможностью может быть вывод некоторого текстового файла (для GNUPLOT, в JSON, в SVG, для какой-то таблицы в CSV, и т. д.) и использовать внешнюю программу для отображения этого графика (в текстовом формате). Вы могли бы даже использовать некоторые межпроцессного взаимодействия (например, немного FIFO или трубопровод, с _popen или же лучше) между ними.

Кстати, Windows — это AFAIK, а не операционная система реального времени, но вам не нужно в реальном времени, как вы прокомментировали, вам просто нужна интерактивность. IMHO конвейерная обработка в GNUplot очень проста (по крайней мере, в Linux, и, вероятно, в Windows тоже ….).

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);
}
-1

По вопросам рекламы [email protected]