Дата публикации:
Вывод времени сортировки на экран
Хочу себе такие же кнопки
Содержимое статьи:
В предоставленном коде реализован метод sort для двухуровневой структуры, который сортирует данные с использованием стандартной библиотечной функции std::sort. Чтобы вывести время сортировки на экран, необходимо добавить следующее:
1. Измерение времени
Перед вызовом метода sort создайте переменную типа std::chrono::high_resolution_clock::time_point и сохраните в ней текущее время:
auto start = std::chrono::high_resolution_clock::now();
После вызова метода sort сохраните в другой переменной текущее время:
auto end = std::chrono::high_resolution_clock::now();
2. Вычисление интервала времени
Вычислите интервал времени между началом и концом сортировки с использованием функции std::chrono::duration_cast:
std::chrono::duration<double, std::milli> time_span = std::chrono::duration_cast<std::chrono::duration<double, std::milli>>(end - start);
3. Вывод результата
Выведите результирующее время сортировки на экран:
std::cout << "Время сортировки: " << time_span.count() << " мс" << std::endl;
4. Внесение изменений в код
Вставьте эти изменения в метод sort в соответствующих местах:
// ... Преобразовано:
void sort() {
std::vector temp;
Node* current = head;
auto start = std::chrono::high_resolution_clock::now();
while (current) {
for (auto& obj : current->array) {
temp.push_back(obj);
}
current = current->next;
}
std::sort(temp.begin(), temp.end(), [](const T* a, const T* b) { return *a < *b; });
current = head;
int index = 0;
while (current) {
for (int i = 0; i < current->array.size(); i++) {
current->array[i] = temp[index++];
}
current = current->next;
}
auto end = std::chrono::high_resolution_clock::now();
std::chrono::duration<double, std::milli> time_span = std::chrono::duration_cast<std::chrono::duration<double, std::milli>>(end - start);
std::cout << "Время сортировки: " << time_span.count() << " мс" << std::endl;
// ...
5. Комментарии
Важно отметить, что эта реализация измеряет только время, затраченное на сам процесс сортировки. Она не учитывает время, затраченное на создание или изменение структуры данных.
Бесплатный курс Excel: управление запасами и подбором транспорта
Бесплатный курс: "VDSina для начинающих: Сервер за 5 минут"
Чатрулетка: чат без регистрации
Чай и кофе: волшебные сочетания
Эксперт по фототехнике
Изучение нейросетей для начинающих
Как использовать Xiaomi Yi 4K для съёмки под водой: Подводные приключения
Как использовать Xiaomi Yi 4K для съёмки под водой
Общение с ИИ-собеседницей
Онлайн генератор паролей для Android
Отзывы о сайтах: опыт пользователей
Почему существует видеочат рулетка
Погода в Ревде на выходные
Полноэкранный дисплей часов
Политика конфиденциальности и пользовательское соглашение
Простое руководство по созданию мемов без фотошопа
SEO для нейросетей: основы и практика
Системы видеонаблюдения IP
Смешной стиль
Собери 5 вёдер огурцов с грядки
Сплетница смотреть онлайн 2023
Улучшение индексации GEO сайта
VDSina для чайников: что это такое
Видеообмен в реальном времени
Виджет обратной связи для бизнеса
Воронежская родительская база
|