|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
01.03.2008, 00:28 | #11 | |
Новичок
Джуниор
Регистрация: 18.01.2008
Сообщений: 1,720
|
Цитата:
Код:
И, кстати, у меня числа упорядочиваются за 2-3 сравнения, а уж никак не за двенадцать, к тому же, я всегда считал, что три числа можно расставить шестью разными способами.... а не четырьмя..... Последний раз редактировалось B_N; 01.03.2008 в 00:34. |
|
01.03.2008, 00:34 | #12 | |
Регистрация: 29.02.2008
Сообщений: 7
|
B_N да я же не говорю ничего против ^^ вы уж точно лучше чем я знаете..) просто почему-то моему скромному мозгу новичка кажется, что это немного наглядней %)
Цитата:
пы.сы. но работает вроде всегда, кроме случая, когда числа равны... Последний раз редактировалось FreeJaile; 01.03.2008 в 00:40. |
|
06.03.2008, 00:41 | #13 |
Пользователь
Регистрация: 24.02.2008
Сообщений: 13
|
Есть еще более короткий способ:
Код:
printf ("Hello, World!"), fflush (stdout);
std::cout << std::endl; |
06.03.2008, 18:23 | #14 | ||
Новичок
Джуниор
Регистрация: 18.01.2008
Сообщений: 1,720
|
Цитата:
1. a - max, c - mid 2. b - max, a - mid Цитата:
P.S. qsort не просто описана в stdlib. Поскольку CRT чуть ли не целиком прикручена к ntdll.dll и ntoskrnl.exe, qsort, фактически, является стандартной функцией WinNT, доступной в обоих режимах. |
||
07.03.2008, 22:40 | #15 |
Пользователь
Регистрация: 24.02.2008
Сообщений: 13
|
Ну по поводу стека в данном случае заботится вряд ли стоит - всего три инта, да причем работа со стековыми переменными наименее затратна по времени, чем что-то иное. Для интереса провел тест на миллион циклов работы. Твой вариант работал на секунду дольше : 57 сек на 56 сек с qsort.
Объемность функции компенсируется отсутствием объемности в нашем коде - ради чего, собственно, и привел пример. Про замечания CRT, *.dll, *.exe ничего не скажу - впервые слышу такие названия - пишу в линухе.
printf ("Hello, World!"), fflush (stdout);
std::cout << std::endl; |
07.03.2008, 22:42 | #16 |
Пользователь
Регистрация: 24.02.2008
Сообщений: 13
|
Прошу прощения, я имел в виду пример кода FreeJaile
printf ("Hello, World!"), fflush (stdout);
std::cout << std::endl; |
07.03.2008, 23:43 | #17 | |
Новичок
Джуниор
Регистрация: 18.01.2008
Сообщений: 1,720
|
Цитата:
Код:
|
|
08.03.2008, 00:05 | #18 |
Пользователь
Регистрация: 24.02.2008
Сообщений: 13
|
Вот код, который я сравнивал:
Код:
Код:
PS: Запускал на Athlon 64 3500, 2Gb mem, OC Mandriva 64 bit. Компилировал без ключей (g++ main.cpp), время засекал по секундной стрелке. PPS: при повторном запуске экземпляр с qsort проиграл на 1 сек, но порядок времени тот же
printf ("Hello, World!"), fflush (stdout);
std::cout << std::endl; |
08.03.2008, 00:27 | #19 | |
Новичок
Джуниор
Регистрация: 18.01.2008
Сообщений: 1,720
|
Цитата:
|
|
08.03.2008, 01:09 | #20 | |
Пользователь
Регистрация: 24.02.2008
Сообщений: 13
|
Цитата:
Цикл на 100 миллионов выполняется за 14 сек с qsort против 1 сек без него. Результат на лицо, не в пользу qsort. Видно слишком мощьная машина для данного случая
printf ("Hello, World!"), fflush (stdout);
std::cout << std::endl; |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
программа считывающая пять целых чисел и определяющая, печатающая наибольшее и наименьшее число из них | Syber | Общие вопросы C/C++ | 3 | 30.06.2008 22:39 |
Из двух натуральных чисел, составить наибольшее число, сохраняя первоначальную последовательность.Паскаль | Omedus | Помощь студентам | 8 | 19.11.2007 22:02 |
вычисление суммы чисел, кратных 3 из последовательности, состоящей из 10 чисел, заранее заданных | Белка | Помощь студентам | 3 | 27.10.2007 11:53 |
Наибольшее и наименьшее значения функции | mcblack | Помощь студентам | 9 | 26.04.2007 10:53 |