Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.06.2013, 15:17   #1
seosage
Новичок
Джуниор
 
Регистрация: 06.06.2012
Сообщений: 2
По умолчанию Сравнить скорости работы методов сортировки

Всем привет. Помогите пожалуйста. Все сделал, но не могу сравнить методы сортировки. Завтра сдавать(

"Сравнить скорости работы выбранных методов сортировки на массиве заданном случайным образом, уже отсортированном и отсортированном в обратном порядке. Размер массива задается пользователем. Результаты выводятся на отдельную форму."

Файл стал прикреплять, не влезает. Залил на rghost.ru - http://rghost.ru/46792847
seosage вне форума Ответить с цитированием
Старый 16.06.2013, 15:34   #2
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,170
По умолчанию

Не влезает из-за картинки. Замените bmp на png/jpg - вес будет меньше. А на форум вообще можно было без этого Image1 заливать - вес всего 61,5 КБ.
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 16.06.2013, 16:00   #3
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,170
По умолчанию

Обычный просто замеряю так:

Код:
Dim tm!

tm = Timer
'работа
Debug.Print Timer - tm'ну или пишем в форму
Но на таких быстрых задачах мерить трудно, слишком быстро:

0,015625
0,03125
0,03125

Нужно их в цикле гонять по 100 раз и тогда смотреть время.
Но есть другой вариант - принцип тот же, но точнее:

Код:
Private Declare Function GetTickCount Lib "kernel32.dll" () As Long 

Private Sub YourMacro() 
    iMlSeconds& = GetTickCount 

    'Здесь должен быть код Вашей программы. 

    MsgBox "Время выполнения макроса составило " & _ 
    GetTickCount - iMlSeconds& & " милисек.", vbExclamation, "" 
End Sub
Сравнение результатов на 200 элементов:

0,015625
16
0,3125
312
0,359375
359
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 16.06.2013, 16:48   #4
seosage
Новичок
Джуниор
 
Регистрация: 06.06.2012
Сообщений: 2
По умолчанию

Цитата:
Сообщение от Hugo121 Посмотреть сообщение
Обычный просто замеряю так:

Код:
Dim tm!

tm = Timer
'работа
Debug.Print Timer - tm'ну или пишем в форму
Но на таких быстрых задачах мерить трудно, слишком быстро:

0,015625
0,03125
0,03125

Нужно их в цикле гонять по 100 раз и тогда смотреть время.
Но есть другой вариант - принцип тот же, но точнее:

Код:
Private Declare Function GetTickCount Lib "kernel32.dll" () As Long 

Private Sub YourMacro() 
    iMlSeconds& = GetTickCount 

    'Здесь должен быть код Вашей программы. 

    MsgBox "Время выполнения макроса составило " & _ 
    GetTickCount - iMlSeconds& & " милисек.", vbExclamation, "" 
End Sub
Сравнение результатов на 200 элементов:

0,015625
16
0,3125
312
0,359375
359
Спасибо большое, очень выручили. Только не могли бы вы закинуть это в мой файл? Не получается сразу несколько процедур туда запихать(
seosage вне форума Ответить с цитированием
Старый 16.06.2013, 17:38   #5
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,170
По умолчанию

Только добавил замер времени, чуть расширил текстбоксы. Не вылизывал - дорабатывайте на свой вкус.
Ну и убрал этого монстра
Вложения
Тип файла: rar kursach13H3.rar (22.7 Кб, 14 просмотров)
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Визуализация методов сортировки СтудентВадим Помощь студентам 2 15.05.2013 14:30
Исследование методов сортировки включением. Maks.Loki Помощь студентам 7 14.11.2012 21:42
Сравнить эффективность алгоритмов шейкерной сортировки и сортировки слиянием (язык C) Ольга210993 Помощь студентам 2 20.09.2012 13:52